单一原则+干湿分离,让你的架构能力起飞

打印 上一主题 下一主题

主题 803|帖子 803|积分 2409




# 概念

软件单一原则(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才是真的爱各人
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立聪堂德州十三局店

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表