设计模式的总结

本文最后更新于:2 years ago

23三种设计模式都介绍完了,其中抽象工厂和工厂方法我是放在一起介绍了,所以这个系列是22篇博客。 对于比较常用的模式,我介绍的比较清晰,一些基本上用不到的,我介绍的就很水。。。

设计模式可以分为三种模式:创建型模式、结构型模式和行为模式。
其中创建型模式中常用的模式是工厂模式和单例模式
结构型模式中常用的模式是适配器模式、装饰器模式、代理模式和外观模式
行为模式中常用的模式是策略模式、模板模式、观察者模式和状态模式

不是说其他模式不重要,只能说各自的适用场合或解决的问题有差别而已,每个模式都有其存在的意义
相对于我们日常开发来说,上面列举的模式是比较常用到的

创建型模式

创建型模式抽象了实例化过程。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。
其主要关注点是”怎样创建对象?”,它的主要特点是”将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节,对象的创建由相关的工厂来完成。就像我们去商场购买商品时,不需要知道商品是怎么生产出来一样,因为它们由专门的厂商生产。
工厂方法模式属于类创建型模式,其他的模式都是对象创建型模式

创建型模式有以下几种:
单例(Singleton)模式
原型(Prototype)模式
工厂方法(FactoryMethod)模式
抽象工厂(AbstractFactory)模式
建造者(Builder)模式

结构型模式

结构型模式涉及到如何组合类和对象以获得更大的结构。结构型类模式采用继承机制来组合接口或实现。其描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。
由于组合关系或聚合关系比继承关系耦合度低,满足”合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。
其中适配器模式分为类结构型模式和对象结构型模式两种,其他的模式都是对象结构型模式

结构型模式有以下几种:
代理(Proxy)模式
适配器(Adapter)模式
桥接(Bridge)模式
装饰器(Decorator)模式
外观(Facade)模式
享元(Flyweight)模式
外观(Facade)模式

行为型模式

行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述它们之间的通信模式。这些模式刻划了在运行时难以跟踪的复杂的控制流。它们将你的注意力从控制流转移到对象间的联系方式上来。

行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。
模板方法模式和解释器模式是类行为型模式,其他的模式都是对象行为型模式

行为型模式有以下几种:
模板方法(Template Method)模式
策略(Strategy)模式
命令(Command)模式
职责链(Chain of Responsibility)模式
状态(State)模式
观察者(Observer)模式
调停者(Mediator)模式
迭代器(Iterator)模式
访问者(Visitor)模式
备忘录(Memento)模式
解释器(Interpreter)模式

以上差不多就是23种设计模式的三大模式,这里如果大家想要深入理解设计模式,可以去看由四人帮(GOF)编写的《设计模式:可复用面向对象软件的基础》这本书,非常经典。给出网盘的链接,需要的可以康康
提取码:2333


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!