概述
创建型模式–>对象怎么来
结构型模式–>对象和谁有关
行为型模式–>对象与对象在干嘛
下面为大家介绍这三种类型:
创建型模式
创建型模式就是用来创建对象的模式,抽象了实例化的过程。所有的创建型模式都有两个共同点。第一,它们都将系统使用哪些具体类的信息封装起来;第二,它们隐藏了这些类的实例是如何被创建和组织的。创建型模式包括单例模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式。
单例模式:解决的是实例化对象的个数的问题,比如抽象工厂中的工厂、对象池等,除了Singleton之外,其他创建型模式解决的都是 new 所带来的耦合关系。
抽象工厂:创建一系列相互依赖对象,并能在运行时改变系列。
工厂方法:创建单个对象,在Abstract Factory有使用到。
原型模式:通过拷贝原型来创建新的对象。
建造者、工厂方法,抽象工厂, 都需要一个额外的工厂类来负责实例化“一个对象”。
结构型模式
结构型模式,顾名思义讨论的是类和对象的结构 ,主要用来处理类或对象的组合。它包括两种类型,一是类结构型模式,指的是采用继承机制来组合接口或实现;二是对象结构型模式,指的是通过组合对象的方式来实现新的功能。它包括适配器模式、桥接模式、装饰者模式、组合模式、外观模式、享元模式和代理模式。
适配器模式——注重转换接口,将不吻合的接口适配对接
桥接模式——注重分离接口与其实现,支持多维度变化
组合模式——注重统一接口,将“一对多”的关系转化为“一对一”的关系
装饰者模式——注重稳定接口,在此前提下为对象扩展功能
外观模式——注重简化接口,简化组件系统与外部客户程序的依赖关系
享元模式——注重保留接口,在内部使用共享技术对对象存储进行优化
代理模式——注重假借接口,增加间接层来实现灵活控制
行为型模式
行为型模式是对在不同对象之间划分责任和算法的抽象化。行为模式不仅仅关于类和对象,还关于它们之间的相互作用。行为型模式又分为类的行为模式和对象的行为模式两种。
类的行为模式——使用继承关系在几个类之间分配行为。
对象的行为模式——使用对象聚合的方式来分配行为。
行为型模式包括11种模式:模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、状态模式、策略模式、责任链模式、访问者模式、解释器模式和备忘录模式。
模板方法模式:封装算法结构,定义算法骨架,支持算法子步骤变化。
命令模式:注重将请求封装为对象,支持请求的变化,通过将一组行为抽象为对象,实现行为请求者和行为实现者之间的解耦。
迭代器模式:注重封装特定领域变化,支持集合的变化,屏蔽集合对象内部复杂结构,提供客户程序对它的透明遍历。
观察者模式:注重封装对象通知,支持通信对象的变化,实现对象状态改变,通知依赖它的对象并更新。
中介者模式:注重封装对象间的交互,通过封装一系列对象之间的复杂交互,使他们不需要显式相互引用,实现解耦。
状态模式:注重封装与状态相关的行为,支持状态的变化,通过封装对象状态,从而在其内部状态改变时改变它的行为。
策略模式:注重封装算法,支持算法的变化,通过封装一系列算法,从而可以随时独立于客户替换算法。
责任链模式:注重封装对象责任,支持责任的变化,通过动态构建职责链,实现事务处理。
访问者模式:注重封装对象操作变化,支持在运行时为类结构添加新的操作,在类层次结构中,在不改变各类的前提下定义作用于这些类实例的新的操作。
备忘录模式:注重封装对象状态变化,支持状态保存、恢复。
解释器模式:注重封装特定领域变化,支持领域问题的频繁变化,将特定领域的问题表达为某种语法规则下的句子,然后构建一个解释器来解释这样的句子,从而达到解决问题的目的。
最后
以上就是潇洒战斗机为你收集整理的【设计模式】三大类型的全部内容,希望文章能够帮你解决【设计模式】三大类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复