1.1为什么需要设计模式
高效率,高品质,低成本的追求
1.2面向对象设计原则
1.单一职责原则(SRP)
系统中每一个对象都应该只有一个单独的职责,而所有对象关注的就是自身职责的完成。每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个。一个类不应功能过多,庞大无比。
2.开闭原则(OCP)
核心思想:一个对象对拓展开放,对修改关闭,即对类的改动是通过增加代码进行的,而不是改动现有的代码。开发人员一旦写出可以运行的代码,就不应该去改变它,而是要保证它能一直运行下去。
3.依赖倒置原则(DIP)
即要依赖于抽象,不要依赖于具体的实现,在软件开发中,所有的类如果需求调用其他的类,就应该调用该类的接口或者抽象类,而不是直接调用该类的实现类。
4.里式替换原则(LSP)
在任何抽象类抽象的出现的地方都可以用他的实现类来替代,采用里式替换原则可以更好的使用继承。
5.迪米特原则(LOD)
意思是一个对象应当对其他对象尽可能少的了解,从而能够降低各个对象之间的耦合,提高系统的可维护性。
在程序设计中,各个模块之间相互调用时,通常都会提供一个统一接口来实现,这样其他模块就不需要了解另一个模块内部实现细节,这样当一个模块内部的实现发生改变时不会影响其他模块的使用。
6.接口分离原则(ISP)
不应该强迫客户程序依赖他们不需要使用的方法。
在软件开发中,开发人员经常会将很多对外提供的方法封装到一个类中实现,然后提供给其他模块使用,这就违法了接口分离原则,一个接口应该只提供一种对外功能,不应该把所有的操作都封装到一个接口中。