【设计模式】大话设计模式总结

设计模式这个东西已经久仰大名很久了,我自己也在暑假开始之前将《大话设计模式》看完了,但是因为期末考试等等一堆事家上自己的拖延症,所以一直拖到现在才来总结,实在不是件好事,所以争取下次计时总结!不过现在总结也还是有好处的,正好在开始机房重构之前将设计模式重温一下,开始重构时使用设计模式应该会比较熟悉一点,不至于那么陌生。好了,那么废话不多说,请看我的总结:


一、是什么?

设计模式是什么呢?这个问题应该是很多刚刚接触过设计模式的人都想过的,我自己也是,书上没有,于是上网查,得到结果:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化,是软件工程的基石脉络,如同大厦的结构一样。——百度百科

所以,一句话总结——设计模式就是为了提高代码重用性而且被反复使用、多数人知晓、经过分类编目的代码设计经验总结。


二、有什么?

设计模式包含23种模式,而这23种又可以大体上分为三类:总体来说设计模式分为三大类:

  • 创建型模式,共5种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
  • 结构型模式,共7种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
  • 行为型模式,共11种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 

三、为什么?

为什么要使用设计模式呢?我想这应该是很多学过或者即将要学习设计模式的人都会有的想法。为什么要提倡“Design Pattern呢?首先,根本原因是为了代码复用,增加可维护性。

那么怎么才能实现代码复用呢?这就要说到面向对象有几个原则:、、接口隔离原则(Interface Segregation Principle,ISP)、、。开闭原则具有理想主义的色彩,它是面向对象设计的终极目标。其他几条,则可以看做是开闭原则的实现方法。

*单一职责原则 (Single Responsiblity Principle SRP):就一个类而言,应该有且仅有一个引起它变化的的原因。

*开闭原则(Open Closed Principle,OCP):软件实体(类、模块、函数等等)应该可以拓展,但不可修改。
*依赖倒转原则(Dependency Inversion Principle,DIP):A、高层模块不应该依赖底层模块。两个都应该依赖抽象。
B、抽象不应该依赖细节。细节应该依赖抽象。
*里氏代换原则(Liskov Substitution Principle,LSP):子类型必须能够替换掉它们的父类型。
*最小知识原则(Principle of Least Knowledge,PLK,也叫迪米特法则):如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的     互相作用。如果其中一个类需要调用另一个类的某一个方法的话,可以直接通过第 三者转发这个调用。
*合成/聚合复用原则(Composite/Aggregate Reuse Principle,CARP):精良使用合成/聚合,尽量不要使用类继承。


设计模式就是实现了这些原则,从而达到了代码复用、增加可维护性的目的。


你可能感兴趣的:(♥编程学习,———【设计模式】,设计模式,设计模式,大话,总结)