设计模式概述

一、设计模式概念与意义

  设计模式是一套代码设计经验的总结,为的是代码重用,提高代码可读性。每种模式在现实中都能找到相对应的原理,符合面向对象的原则,把现实中的事物抽象成虚拟世界的对象。

  同时,在开发大型软件时,很多时候需要一个框架,将软件分成一个个功能模块,以便多人的分工合作,因此框架设计中经常要使用设计模式。所以,学习设计模式有助于对框架结构的理解,以对整个代码结构有清晰的认识,缩短软件开发周期。

 

二、设计原则

1.单一职责原则(Single Responsibility Principle)

一个类应该只有一个引起它变化的原因。

2.开闭原则(Open Close Principle)

对扩展开放,对修改关闭。把抽象接口与实现相分离。

3.里氏转换原则(Liskov Substitution Principle)

任何基类可以出现的地方,子类一定可以出现。对OCP的补充,OCP的关键是抽象化,而基类与子类的继承关系就是抽象化的具体实现。

4.依赖倒转原则(Dependence Inversion Principle)

OCP的基础,针对接口编程,依赖于抽象而不依赖于具体。

5.接口隔离原则(Interface Segregation Principle)

使用多个专门的接口比使用单一的总接口要好。

6.迪米特法则(Demeter Principle)

一个对象应当对其它对象尽可能少地发生相互作用,使系统功能相对独立。

7.合成/聚合复用原则(Composite/Aggregate Reuse Principle)

尽量使用合成/聚合,而不是使用继承。

 

三、设计模式的类型

三类设计模式:

创建型模式:提供在创建对象时隐藏逻辑的方法,不使用new 运算符直接实例化对象。

1.工厂模式(Factory Pattern)

2.抽象工厂模式(Abstract Factory Pattern)

3.单例模式(Singleton Pattern)

4.建造者模式(Builder Pattern)

5.原型模式(Prototype Pattern)

 

结构型模式:关注类和对象的组合。继承概念用来组合接口和定义组合对象获得新功能。

1.适配器模式(Adapter Pattern)

2.桥接模式(Bridge Pattern)

3.过滤器模式(Filter Criteria Pattern)

4.组合模式(Composite Pattern)

5.装饰器模式(Decorator Pattern)

6.外观模式(Facade Pattern)

7.享元模式(Flyweight Pattern)

8.代理模式(Proxy Pattern)

 

行为型模式:关注对象之间的通信

1.责任链模式(Chain of Responsibility Pattern)

2.命令模式(Command Pattern)

3.解释器模式(Interpreter Pattern)

4.迭代器模式(Iterator Pattern)

5.中介者模式(Mediator Pattern)

6.备忘录模式(Memento Pattern)

7.观察者模式(Observer Pattern)

8.状态模式(State Pattern)

9.空对象模式(Null Object Pattern)

10.策略模式(Strategy Pattern)

11.模版模式(Template Pattern)

12.访问者模式(Visitor Pattern)

posted @ 2016-03-06 19:54  没有梦想的小灰灰  阅读(484)  评论(0编辑  收藏  举报