# 概念
软件单一原则(Single Responsibility Principle,SRP)是面向对象编程中五大根本设计原则之一。它指每个软件模块或类都应该只负责一个单一的功能或责任。
干湿分离是一种修建立计和室内装修的方法,紧张目的是将"干区"和"湿区"举行物理隔离,以进步空间使用率和使用效率。
- 进步空间使用率
- 改善使用体验
- 便于管理和维护
- 增强安全性
看似两个不干系的主题,但是从工程角度是云云的相似相通,单一原则在实践过程中容易走样:
- 懒:懒拆分, 懒抽象
- 怕:没有“继承”,没人知道配景,不敢动,不敢抽象
- 差:不具备如许的能力
# 具体
在工程界,有样板间(Pattern), 脚手架(Scaffold)辅助,即使复杂如上海中心如许的工程,终是平常的水泥工垒砌起来。
在软件架构中,以设计范式(pattern)为道,以实践工具为术,可以大大减缓软件架构的腐败,低落在软件架构演进过程熵值扩散。
以是软件架构里面的干湿分离, 其实直接在代码目次隔离(参考早期各人习惯把后缀 IT的测试类标志为集成测试); 这也算遵循&扩展标准,其实很早也在行业内实践了,如rails/grails 里面的COC: Convention over Configuration \ Clean Code :-) , 以是你可以看到些 “main” 之外目次:
- wire: 协议目次
- stub: 服务端代码
- trait: 数据库利用辅助代码
- ...
凡事都有事前,事中,过后,根本三个切入点举行控制, 来自archguard 给了很好的解释:(摘自:archguard)
核心理念:三态模型 + 双环保卫
- 设计态:目标架构。通过 DSL(领域特定语言) + 架构工作台来构建 。
- 开发态:实现架构。关注于:可视化 + 自定义分析 + 架构治理。
- 运行态:运行架构。结合 APM 工具,构建完整的分析链。
https://archguard.org/
终极达到 "天人合一":
Arch ⇋ Code ⇋ Document
# ApiHug 思路
- 设计态:DSL 定义(目次,包结构,值对象,领域对象,摆列,错误...) + 可视化
- 开发态: 基于成熟企业开发,编译 Lint, 服务编织(静态分析) + 可视化
- 运行态:APM, Bootstrap 校验, Actuator
# 预告
- 1.0.0 SDK 预备发布
- 一键迁移老项目
- Domain Knowledge AI 集成
- ...
API 设计工具千万家,ApiHug才是真的爱各人
|