23种设计模式
2021-09-27 19:54:09 120 举报
AI智能生成
23种设计模式
作者其他创作
大纲/内容
创建型(5种)
单例模式(Singleton)
确保一个类最多只有一个实例,自行实例化这个实例,并提供一个全局访问点
工厂方法模式(Factory Method)
定义一个用于创建产品的接口,由子类决定生产什么产品
抽象工厂模式(AbstractFactory)
提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品
原型模式(Prototype)
将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例
建造者模式(Builder)
将一个复杂对象分解成多个相对简单的部分,然后根据不同需要分别创建它们,最后构建成不同复杂对象
结构型(7种)
适配器模式(Adapter)
将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的 那些类能一起工作
代理模式(Proxy)
为某对象提供一种代理以控制对该对象的访问。即客户端通过代理间接地访问该对象,从而限制、 增强或修改该对象的一些特性
装饰模式(Decorator)
动态的给对象增加一些职责,即增加其额外的功能。就功能而言更加灵活,可以作为继承的替代
桥接模式(Bridge)
将抽象与实现分离,使它们可以独立变化
外观模式(Facade)
为多个复杂的子系统提供一个一致的接口,使这些子系统更加容易被访问
组合模式(Composite)
将对象组合成树状层次结构(部分-整体),使用户对单个对象和组合对象具有一致的访问性
享元模式(Flyweight)
使用共享对象可以有效的支持大量细粒度对象的复用
行为型(11种)
模板方法模式(TemplateMethod)
定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中
策略模式(Strategy)
定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的改变不会影响 使用算法的客户
职任链模式(Chain of Responsibility)
将对象链成一条链,并沿着这条链传递该请求/命令,直到有对象处理它为止
命令模式(Command)
将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开
观察者模式(Observer)
多个对象间存在一对多关系,当一个对象发生改变时,把这种改变通知给其他多个对象, 从而影响其他对象的行为
状态模式(State)
允许一个对象在其内部状态发生改变时改变其行为能力,这个对象看起来像改变了其类
中介者模式(Mediator)
用一个中介对象封装一系列的对象交互,中介者使得各个对象不需要显示的相互作用,从而达到松耦合
迭代器模式(Iterator)
提供一种方法来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部细节
访问者模式(Visitor)
封装一些作用于某种数据结构中各元素的操作,使得可以在不改变数据结构的前提下,为每个元素提供多种访问方式
备忘录模式(Memento)
在不破坏封装性的前提下,获取并保存一个对象的内部状态,以便以后恢复它
解释器模式(Interpreter)
提供如何定义语言的文法,以及对语言句子的解释方法来解释该语言,即解释器
0 条评论
下一页