设计模式概述
在深入学习每一种设计模式之前,首先要了解一下设计模式分类,通过分类我们能够在实际应用过程中,有目的地选择某一类设计模式来进行设计,然后定位到某一个类中的具体的设计模式。
闲话少说,设计模式分为三个大类,包括创建型模式(Creational Patterns)、结构型模式(Structural
Patterns)和行为型模式(Behavioral
Patterns)。下面分别对这三个分类进行说明,讲述每一个分类中都包含哪些具体的设计模式。
创建型模式(Creational
Patterns)
创建型模式主要考虑系统设计中与资源的合理利用相关的创建方式,尤其是在面向对象设计中,创建对象对所设计的系统来说,是存在一定的开销的。如何能够选择合适的创建方法,选择合适的模式来完成软件设计,能够使系统被良好地设计。
创建型模式主要包括如下6个具体模式:
01.简单工厂模式(Simple
Factory)
02.工厂方法模式(Factory Method)
03.抽象工厂模式(Abstract Factory)
04.建造模式(Builder)
05.原型模式(Prototype)
06.单例模式(Singleton)
结构型模式(Structural
Patterns)
系统中已经创建了一些用来完成具体功能的对象,然后要考虑的是如何有效地管理这些存在于系统中的资源,在面向对象设计中,这些资源以对象(实例)的形式呈现。由于系统中可能存在大量的对象,而且每个对象很可能不是独立存在地,必然要与其他的对象相互关联,即对象之间存在依赖性。如果通过在设计中研究未来系统中这些对象的组织结构的设计,不仅能够提高系统的性能,还能够使系统易于维护。
从模块的角度来看,合理的设计结构能够实现系统中各个模块之间解耦,不至于使系统遭遇“牵一动百”的痛苦。可见,结构模式还是非常基础的设计模式。
结构型模式主要包括如下7个具体模式:
01.门面模式(Facade)
02.适配器模式(Adapter)
03.代理模式(Proxy)
04.装饰模式(Decorator)
05.桥梁模式(Bridge)
06.组合模式(Composite)
07.享元模式(Flyweight)
行为型模式(Behavioral
Patterns)
基于上述两类模式,接下来要考虑的是系统中存在的对象之间的交互关系的设计,即对象的行为。采用什么样的交互方式,如何进行协作才能更好地实现系统的功能,提高系统的性能,这是行为型模式所关心的设计问题。
行为型模式主要包括如下11个具体模式:
01.模板方法模式(Template
Method)
02.观察者模式(Observer)
03.状态模式(State)
04.策略模式(Strategy)
05.职责链模式(Chain of Responsibility)
06.命令模式(Command)
07.访问者模式(Visitor)
08.调停者模式(Mediator)
09.备忘录模式(Memento)
10.迭代器模式(Iterator)
11.解释器模式(Interpreter)
加载中,请稍候......