软件架构——设计原则

一般一个系统包括架构模式、设计模式、软件框架等。一般一个系统包括架构模式、设计模式、软件框架等。设计模式是在解决问题的过程中,一些良好思路的经验集成,常见的是GoF 23种设计模式。GoF 23种设计模式的一些指导设计原则:

1、开闭原则(OCP):一个软件实体应当对扩展开放,对修改关闭。“抽象化”是OCP的关键。

2里氏代换原则(LSP)在一个软件系统中,子类应该可以替换任何基类能够出现的地方,并且经过替换以后,代码还能正常工作。“继承”是LSP的关键。

3依赖倒转原则(DIP)要依赖于抽象,不要依赖于具体。或者说是:要针对接口编程,不要对实现编程。“规范抽象”是DIP的关键。

4接口隔离原则(ISP)使用多个专门的接口比使用单一的总接口要好。也就是说,一个类对另外一个类的依赖性应当是建立在最小的接口上的。“多重继承”是ISP的关键。

5组合/聚合复用原则(CARP)在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分:新的对象通过向这些对象的委派达到复用已有功能的目的。“组合/聚合”是CARP的关键。

聚合:指的是整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构。从而找出一些组成类,该整体类和组成类之间就形成了聚合关系。例如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。
组合:也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在。部分对象与整体对象之间具有共生死的关系。

6迪米特法则(LoD)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。“传递间接的调用”是LoD的关键。

关于GoF 23种设计模式的内容可以参考深入浅出设计模式》这本书籍。

转载于:https://www.cnblogs.com/ajian005/archive/2012/10/28/2753658.html

Published by

风君子

独自遨游何稽首 揭天掀地慰生平