最近想开一个新坑, 就是设计模式. 设计模式是相当重要的.
1.什么是设计模式?
设计模式( Desgin Pattern)是前辈们对代码开发经验的总结, 是解决特定问题的一系列套路. 它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。
1995年,GoF( Gang of Four,四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了23种设计模式,从此树立了软件设计模式领域的里程碑,人称「GoF设计模式」。
(大神们都很帅,有没有!?)
2. 为什么要学习设计模式?
设计模式的本质是面向对象设计原则的 实际运用 ,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的 充分理解 。 正确使用设计模式具有以下优点- 可以提高程序员的思维能力、编程能力和设计能力。
- 使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期。
- 使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。
4.面向对面的七大原则
开闭原则:一个软件实体如类、模块和函数应该对修改封闭,对扩展开放。
单一职责原则:控制类的粒度大小、将对象解耦、提高其内聚性。一个类只做一件事,一个类应该只有一个引起它修改的原因.
里氏替换原则:子类应该可以完全替换父类。也就是说在使用继承时,只扩展新功能,而不要破坏父类原有的功能.
依赖倒置原则:细节应该依赖于抽象,抽象不应依赖于细节。把抽象层放在程序设计的高层,并保持稳定,程序的细节变化由低层的实现层来完成。要面向接口编程,不要面向实现编程。
迪米特法则:又名「最少知道原则」,一个类不应知道自己操作的类的细节,换言之,只和朋友谈话,不和朋友的朋友谈话。
接口隔离原则:客户端不应依赖它不需要的接口。如果一个接口在实现时,部分方法由于冗余被客户端空实现,则应该将接口拆分,让实现类只需依赖自己需要的接口方法.
合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。
最后, 接下来的时间, 我会一一介绍这23种设计模式, 大家共同进步.