设计模式——序

来源:互联网 发布:linux php7环境搭建 编辑:程序博客网 时间:2024/06/16 21:52

感觉学编程开发,尤其是一个较大的系统实现的时候,还是得有一些指导思想,设计模式就是很好的参考。一来它可以帮助我们更好地进行系统设计与开发,提高代码质量,二来其中一些模式对于解决具体问题都有很大的启发或借鉴意义。

这系列文章就是我在学习设计模式过程中的一些归纳笔记或心得体会。

参考

设计模式精解-GoF 23 种设计模式解析附 C++实现源码
菜鸟教程——设计模式


设计模式,英文为Design pattern。
是一种软件开发过程中对于一般问题的解决方案
它是由很多程序员总结归纳出来的实践方案。

设计模式的作用

重用代码、使代码更容易让人理解、保证代码可靠性。

设计模式最早由GOF(Gang of Four)提出,他们合著了一本书,Design Patterns - Elements of Reusable Object-Oriented Software。
所以,理解好了设计模式,不仅可以帮助我们有效实现软件开发,还能更好的理解面向对象的设计。

设计模式的分类

设计模式总共可以分为三大类23种,总结一下如下表:

设计模式分类

设计模式的原则

1.开闭原则(Open Close Principle)
开闭原则要求对扩展开放,对修改关闭。也即程序可以很容易进行扩展,方便维护和升级,但是扩展的时候不能修改原有代码。这种效果可以通过接口和抽象类来实现。

2.里氏代换原则(Liskov Substitution Principle)
这是面向对象设计的基本原则之一。它要求,任何基类可以出现的地方,子类一定可以出现。也就是说,派生类可以去替换基类,基类真正地被复用,派生类也可以在基类基础上增加新的功能。

3.依赖倒转原则(Dependence Inversion Principle)
这个原则要求针对接口编程,依赖抽象而非具体

4.接口隔离原则(Interface Segregation Principle)
这个原则要求降低接口的耦合度,也即倾向使用多个隔离的接口,而非单个接口,强调降低接口之间的依赖和耦合。

5.迪米特法则(Demeter Principle)
也称最少知道原则,要求一个实体尽量少地与其他实体发生交互,这样使得系统的功能模块相对独立。

6.合成复用原则(Composite Reuse Principle)
这个原则要求,尽量使用合成/聚合的方式,而非使用继承。


这一篇大致给出一些理论上的介绍,对设计模式有个大致了解,对设计模式的原则有个粗略的印象,后面细说每一个设计模式的时候,再具体来感受。

原创粉丝点击