当前位置: 首页 > news >正文

架构设计:设计原则

文章目录

    • 六大原则
      • 复用/发布等同原则(REP)
      • 共同闭包原则(CCP)
      • 共同复用原则(CRP)
      • 无依赖循环原则(ADP)
      • 稳定依赖原则(SDP)
      • 稳定抽象原则(SAP)
    • 总结

六大原则

复用/发布等同原则(REP)

软件复用的最小粒度应等同于其发布的最小粒度,也就是说架构中的最小复用单元也是架构中的最小发布单元
组件中的类都是为了实现同一个功能,类似代码设计中的单一职责原则

共同闭包原则(CCP)

组件中的类应该是同一变化原因,或者说把同一变化原因的类和在同一个组件内,把不同变化原因的类方法不同的组件内,类似代码设计中的单一职责原则

共同复用原则(CRP)

不是紧密相连的类不应该被放在同一个组件里,也就是 尽量把有依赖关系的类封装在同一个组件中,这样会减少一个组件与另一个组件之间的多个类出现依赖关系的问题,类似代码设计中的单一职责原则

无依赖环原则(ADP)

组件依赖关系图中不应该出现环

解环:组件A->组件B->组件A
方案一:组件B不依赖组件A改为组件B依赖反转组件A

解环:组件A->组件B->组件C->组件D->组件A
方案一:组件D不依赖组件A改为组件D依赖反转组件A,依赖注入的方式比较复杂,需要组件B、组件C配合
方案二:组件D不能组件A,让组件A、组件D依赖新的组件E,将组件A、组件D中互相依赖的类全部放入新组件E

用到代码设计中的依赖反转原则

稳定依赖原则(SDP)

稳定组件的要求一:最少依赖其他组件

类似代码设计中的迪米特原则(依赖最少)

稳定抽象原则(SAP)

稳定组件的要求二:组件内部由接口和抽象类组成,以便将来做扩展

依赖抽象取代依赖具体

类似代码设计中的开闭原则

总结

与组件聚合(构建组件)相关的:复用/发布等同原则(REP)、共同闭包原则(CCP)、共同复用原则

与组件耦合(依赖)相关的:无依赖环原则、稳定依赖原则、稳定抽象原则

http://www.dtcms.com/a/328573.html

相关文章:

  • 第十一节:加载外部模型:GLTF/OBJ格式解析
  • [MySQL数据库] 数据库简介
  • 【虚拟机】VMwareWorkstation17Pro安装步骤
  • Tricentis Tosca 2025.1 LTS 系统要求
  • 华为OD最新机试真题-国际移动用户识别码(IMSI)匹配-(C卷)
  • Terminal Security: Risks, Detection, and Defense Strategies
  • [激光原理与应用-255]:理论 - 几何光学 - CCD成像过程
  • 维文识别技术:将印刷体或手写体的维文文本转化为计算机可处理的数字信息
  • 网络协议组成要素
  • 网络协议——HTTP协议
  • Java锁机制全景解析:从基础到高级的并发控制艺术
  • Navicat更改MySql表名后IDEA项目启动会找原来的表
  • 树结构无感更新及地图大批量点位上图Ui卡顿优化
  • C++ 类型擦除技术:`std::any` 和 `std::variant` 的深入解析
  • 【C++】哈希
  • 终端安全与网络威胁防护笔记
  • 信号反射规律
  • 内存顺序、CAS和ABA:std::atomic的深度解析
  • 亚马逊POST退场后的增长突围:关联与交叉销售的全链路策略重构
  • 语义分割实验
  • python 实现KPCA核主成分分析
  • Ceph的Crush算法思想
  • word——照片自适应框大小【主要针对需要插入证件照时使用】
  • Linux内核进程管理子系统有什么第二十六回 —— 进程主结构详解(22)
  • 深度学习-卷积神经网络-NIN
  • 数据结构:后缀表达式:结合性 (Associativity) 与一元运算符 (Unary Operators)
  • Linux软件编程(三)文件操作-文件 I/O
  • 笔试——Day36
  • Linux应用软件编程---文件操作3(文件IO及其指令、文件定位函数lseek、文件IO与标准IO的比较、缓冲区)
  • archlinux中VLC无法播放视频的解决办法