五大设计原则被归纳为一个简单的单次——SOLID。这五个原则在作者的另一本书中有更加详细的描述。
《敏捷软件开发(原则模式与实践)》 马丁, 邓辉【摘要 书评 试读】图书www.amazon.cn![9498958f79bf958d070f3a0c92d875ab.png](https://img-blog.csdnimg.cn/img_convert/9498958f79bf958d070f3a0c92d875ab.png)
SOLID分别代表:
- SRP : 单一责任原则
- OCP : (对扩展)开放、(对修改)封闭原则
- LSP : 里氏替换原则
- ISP : 接口隔离原则
- DIP : 依赖倒置原则
本书的主要内容是讲软件架构,而SOLID这五大原则更多属于详细设计层面,用作者的话说就是研究“如何将函数和数据结构安排到类(class)中,以及类之间是如何互相连接的。”这里的“类(class)”并非侠义地指OOP语言中的“类”概念,而是广义地指“以一定的耦合性组合在一起的函数与数据”。作者在本书中除了简要地介绍了这五个原则的含义外,更多地是考察了它们在架构设计层面的指导意义。
SRP还可以被表述为“一个模块应该只服务一个Actor”。这里的Actor我理解和Use Case分析方法中的Actor应该是同样的含义。
在进行面向对象分析的时候会建模(抽象)出实体类,这样一个实体类是需要服务多个Actor、包含多个Actor需要的业务逻辑的。到了设计和实现阶段,这个一个实体类并不对应一个单独的“Entity”类。这里作者给出两个