基本设计原则
单一职责(Single Responsibility Priciple):
开放封闭原则(Open-Closed Priciple):一个实体(类、函数、模块等)应该对外扩展开放,对内修改关闭
里氏代替原则(Liskov SubsSubstition Priciple):子类必须替换掉它们的父类型。
接口隔离原则(Interface Segregation Priciple):使用多个专门功能的接口,而不是使用单一的总接口。
依赖倒置原则(Dependence Inversion Priciple): 细节应该依赖于抽象,而抽象不应该依赖于细节
合成复用原则(Composite Reuse Priciple):在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分。
迪米特法则(Law of Demter):一个模块或对象应尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立,这样当一个模块修改时,影响的模块就会越少,扩展起来更加容易。
设计模式是什么
设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并保证代码可靠性。
设计模式的描述方式:
名称:根据其功能或模式结构来命名;
问题:应在何时使用模式,包含设计中存在的问题及问题存在的原因;
解决方案:通常UML类图和核心代码描述,描述设计模式的组成部分,及各组成部分间相互关系、各自职责和协作方式;
效果:描述模式优缺点及使用模式时应权衡的问题。
模式的分类
1.创建型
常用的有:单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式。
不常用的有:原型模式。
2.结构型
常用的有:代理模式、桥接模式、装饰者模式、适配器模式。
不常用的有:门面模式、组合模式、享元模式。
3.行为型
常用的有:观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式。
不常用的有:访问者模式、备忘录模式、命令模式、解释器模式、中介模式。