设计模式可分为三种:创建型设计模式。结构型设计模式和行为型设计模式。
一、创建型设计模式
在设计模式中,创建型设计模式处理对象创建过程的设计模式。它依据实际情况来决定详细如何创建对象。
创建型模式隐藏了类的实例是如何创建和放在一起,整个系统关于对象所知道的是由抽象类所定义的接口。这样创建模式在创建了什么、谁创建它、怎么被创建的。以及何时创建这些方面提供了非常大的灵活性。
创建型设计模式又分为类创建型模式和对象创建型模式:类创建型模式是将对象的创建推迟到子类中;而对象创建型模式是将对象创建的一部分推迟到子类中。
创建型设计模式增强了对象与类之间的独立性。
创建型设计模式一般用于一下情况:
1.系统和对象的创建相互独立
2.一组相关的对象设计为一起使用
3.隐藏类库的实现过程。仅仅需显示它的接口
4.创建独立复杂对象的不同表示
5.子类实现类所创建的对象
6.在执行时实现类的实例化
7.实例在不改动的情况下具有扩展性
8.一个类仅仅能有一个实例,且这个实例能在不论什么时候被訪问
二、结构型设计模式
机构型设计模式是描写叙述怎样组合对象以获得一个更大的结构。不是对接口和实现的组合。它是从程序的结构式解决模块之间的耦合问题。
结构型设计模式对对象进行组合以获取更大结构的方法包含:统一、概括和分离
1.统一:达到一致
统一描写叙述了对象组合的一个主题。通过统一便于用户的使用和扩展。在结构模式中能够归入该主题的有适配器模式和组合模式。
2.概括:提高抽象
概括是对一些对象进行抽象和提取然后提供给用户使用。这样既便于用户的使用又便于对底层的被概括对象进行扩展和维护,在结构模式中能够归入该主题的模式有外观模式。
3.分离:减少耦合。便于扩展
分离能够说是非常多模式的一个主题。不光是结构型模式。创建型模式中也有大量以分离为主题的设计模式。通过分离能够解耦关联增强对象间的独立。在结构模式中可归入该主题的模式有桥接模式、装饰器模式、享元模式和代理模式。
三、行为型设计模式
行为型模式设计到算法和对象间的职责分配。不仅描写叙述对象或类的模式,还描写叙述它们之间的通信方式,刻划了执行时难以跟踪的复杂的控制流,它们将你的注意力从控制流转移到对象间的关系上来。
行为型类模式採用继承机制在类间分派行为;行为对象模式使用对象复合而不是继承。一些行为对象模式描写叙述了一组相互对等的对象怎样相互协作以完毕当中不论什么一个对象都单独无法完毕的任务;其他的行为对象模式常将行为封装封装在一个对象中,并将请求指派给它。