软件架构的23个基本原则
转载,微信公众号
软件架构师在做出架构设计时需要遵循一些基本规则,本文介绍的23条原则就是其中最基础的规则,是所有软件工程师都需要牢记并实践的原则。
- 软件体系架构基于一组适用于各种软件系统的基本原则,有经验的架构师知道这些原则,并且能够在软件产品的正确位置实现特定的原则。下面我们快速浏览一下架构师日常遵循的基本原则:
1. 依赖倒置(Dependency Inversion)
- 这一原则表明依赖的方向应该是抽象的,而不是具体实现。如果编译时依赖在运行时执行的方向上流动,就形成了直接依赖。通过依赖倒置,可以反转依赖控制的方向。
2. 关注点分离(Separation of Concerns)
- 这一原则指出,软件系统应该按照所做的工作类型来划分。比方说可以按照业务逻辑、基础设施或用户界面划分为不同的部分。通过将系统划分为基于不同活动区域的不同部分,使得开发/测试/部署更加容易。SoC是软件架构模式(如领域驱动设计、六边形架构、整洁架构)背后的驱动力。
3. 控制反转(Inversion of Control)
- 该原则类似于依赖倒置原则,但适用于更广泛的背景。IoC反转了由不同的第三方框架(如Spring Framework)管理的控制流。与传统Java EE程序(由开发工程师按程序初始化Beans)不同,Spring控制Bean的配置,这意味着控制倒置。