架构设计方法 - 扩展性

本文探讨了软件架构设计的核心,强调了扩展性的重要性。介绍了SOLID设计原则,包括单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖反转原则,并详细阐述了这些原则在组件构建中的应用,如复用/发布等同原则、共同闭包原则、共同复用原则等,旨在指导如何构建灵活、可扩展的系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是软件架构?

  1. 软件架构这项工作的实质就是规划如何将系统切分成组件,并安排好组件之间的排列关系,以及组件之间互相通信的方式。
  2. 软件架构设计的目标是支撑软件系统的全生命周期,设计良好的架构可以让系统便于理解、易于修改、方便维护,并且能轻松部署。
  3. 软件架构的终极目标就是最大化程序员的生产力,同时最小化系统的总运营成本。
  4. 软件架构设计关注产品的功能属性和质量属性,质量属性包括:扩展性、性能、安全性、可维护性、稳定性。

方法总结

本文主要说下解决扩展性的方法。

  1. SOLID 设计原则:单一职责、依赖反转、开闭、里式替换、接口隔离
  2. 再往上是更大组件粒度的设计原则:复用/发布等同原则、共同闭包原则、共同复用原则、无依赖环原则、稳定依赖原则、稳定抽象原则
  3. 再往上是服务级别的设计原则:划分边界
  4. 常见的架构设计方法:整洁架构、端口与适配器架构、六边形架构

SOLID 设计原则

  1. SRP 单一职责原则
    • 任何一个软件模块都应该有且仅有一个被修改的原因。
    • 任何一个软件模块都应该只对一类行为者负责。
    • 软件模块是指一组紧密相关的函数和数据结构。
    • 单一职责原则主要讨论的是函数和类之间的关系,但是它在其他讨论层面会以不同的形式出现。在组件层面,我们可以将其称为共同闭包原则,在软件架构层面,它则是用于奠定架构边界的变更轴心。
  2. OCP 开闭原则
    • 设计良好的计算机软件应该易于扩展,同时抗拒修改。换个方式说,应该在不需要修改的前提下,就可以轻易被扩展。
    • 主要目标是让系统易于扩展,同时限制每次被修改所影响的范围。
    • 实现方式是将系统划分为一系列组件,并且将这些组件间的依赖关系按层次结构进
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值