一、设计原则
单一职责原则
类的职责要单一,不能将太多的职责放在一个类中。
开闭原则
软件实体对扩展是开放的,但对修改是关闭的,即在不修改一个软件实体的基础上去扩展其功能。
里氏替换原则
在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象。
依赖倒转原则
要针对抽象层编程,而不要针对具体类编程。
接口隔离原则
使用多个专门的接口来取代一个统一的接口。
组合/聚合复用原则
在系统中应该尽量多使用组合和聚合关联关系,尽量少使用甚至不使用继承关系。
迪米特法则
一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此直接通信,那么这两个类就
不应当发生直接的相互作用,而是通过引入一个第三者发生间接交互。
创建型模式抽象了实例化过程。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。
抽象工厂(ABSTRACT FACTORY) 生成器(BUILDER) 工厂方法(FACTORY METHOD)
原型模式(PROTOTYPE) 单例模式(SINGLETON)
三、设计模式——结构型模式
结构型模式涉及到如何组合类和对象来获得更大的结构。它采用继承机制来组合接口或实现。
适配器(ADAPTER) 桥接(BRIDGE) 组成(COMPOSITE) 装饰(DECORATOR)
外观(FACADE) 享元(FLYWEIGHT) 代理(PROXY)
四、设计模式——行为模式
行为模式不仅描述对象或类的模式,还描述他们之间的通信模式,涉及到算法和对象间职责的分配。
行为类模式使用继承机制在类间分派行为。