首页 > 代码库 > 设计模式分类

设计模式分类

1.创建型模式

  社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,

所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题。这里有6个具体的创建型模式可供研究,它们分别是:

简单工厂模式(Simple Factory) 、  工厂方法模式(Factory Method) 、 抽象工厂模式(Abstract Factory)、创建者模式(Builder)、

原型模式(Prototype) 、单例模式(Singleton)

 

2.结构型模式

  在解决了对象的创建问题之后,对象的组成以及对象之间的依赖关系就成了开发人员关注的焦点,因为如何设计对象的结构、继承和依赖关系会影响到后续

程序的维护性、代码的健壮性、耦合性等。对象结构的设计很容易体现出设计人员水平的高低,这里有7个具体的结构型模式可供研究,它们分别是:

外观模式(Facade)、适配器模式(Adapter)、代理模式(Proxy)、装饰模式(Decorator)、桥模式(Bridge)、组合模式(Composite)、

享元模式(Flyweight)

 

3.行为型模式

  在对象的结构和对象的创建问题都解决了之后,就剩下对象的行为问题了,如果对象的行为设计的好,那么对象的行为就会更清晰,它们之间的协作效率就

会提高,这里有11个具体的行为型模式可供研究,它们分别是:

模板方法模式(Template Method)、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、职责链模式(Chain of Responsibility)、

命令模式(Command)、访问者模式(Visitor)、调停者模式(Mediator)、备忘录模式(Memento)、迭代器模式(Iterator)、

解释器模式(Interpreter)

 

4. 区别

  (1)单例是创建型模式,享元是结构型模式。单例模式和享元模式都是数据共用的意思,只是单例是大家共用一个东西,而享元是共用多个东西

      (2)模式可以分为类模式和对象模式,类模式是用继承,对象模式是用委托

 

5.

(1)而策略模式则属于行为型模式,桥接模式是结构型模式的一种

 

(2)桥接模式表达的主要意义是接口隔离的原则,即把本质上并不内聚的两种体系区别开来,使得它们可以松散的组合,而策略在解耦上还仅仅是某一个算法

的层次,没有到体系这一层次。

 

 

 

 6.外观与适配器都是对现存系统的封装。

外观会定义新的接口,为现存系统提供一个更为方便的访问接口

适配器则是复用一个原有的接口,适配器是使两个已有的接口协同工作

 

7.代理与外观的主要区别在于,代理对象代表一个单一对象,外观对象代表一个子系统,代理的客户对象无法直接访问对象,由代理提供单独的目标对象的访问,

而外观对象提供对子系统各元件功能的简化的调用接口。