设计模式在我眼里不仅仅是学习计算机,而且它还带给了我生活中的经验总结,看完了大化设计模式,它在设计代码方面给我们引导了方向,它在生活中指引了我们前进的道路。
一、首先来看概括
其中:
创建型模式、结构型模式、行为型模式。其中,每部分包括了什么,请见上图,在创建型模式中,有一个工厂三姐妹,其中,简单工厂模式严格意义在说,没有包括在创建型里面。
创建型模式:
抽象了实例化的过程,帮助一个系统独立于如何创建对象,一个类创建型模式使用继承改变被实例化的类,而一个对象创建模式将实例化委托给另一个类。
结构型模式:
在解决了对象的创建之后,对象的组成以及对象之间的依赖关系随之出现,因为设计对象的结构,继承和依赖关系会影响到后续程序的维护性。
行为型模式:
把对象的行为设计好,行为清晰,对象之间的写作效率就会提高。
二、6原则
单一职责:
就一个类而言,应该仅有一个引起她变化的原因。
开放--封闭原则:
软件实体(类、模块、函数等)应该可以扩展,但是不可以修改。
依赖倒转原则:
A 高层模块不应该依赖低层模块。两个都应该依赖抽象。
B 抽象不应该依赖细节,细节应该依赖于抽象。
也就是说:针对借口变成,不要对实现编程。
里氏代换原则:
子类型必须能够替换掉他们的父类。
只有当子类可以替换掉父类,软件单位的功能不收到影响时,父类才能真被复用,而子类也能够在父类的基础上增加新的行为。比如:企鹅不能代替鸟类的出现。
迪米特法则:
如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。《最少知识原则》
合成/聚合复用原则:
尽量使用合成/聚合,尽量不要使用类继承。
这些是对设计模式的总概括,详细的分类与介绍请见我的后续博客。