2022-03-08

设计模式的分类

创建型模式

工厂方法(factory method)模式

       提供一个接口,创建一系列相关的或相互依赖的对象,不需要指定具体类

抽象工厂(abstract factory)模式

       定义一个创建对象的接口,但由子类确定实例化哪个类

原型(prototype)模式

       用原型实例指定创建对象的类型,并通过拷这个原型来创建新的对象,效率高

单例(singleton)模式

       一个类只有一个实例

构建器(builder)模式

       将一个复杂类的表示与构造相分离,分割封装各个部分

结构型模式

适配器(adapter)模式

       将一个类的接口转换成用户希望的接口。电源转换器

桥接(bridge)模式

       将类的抽象和他的实现分离开,使他们可以独立变化。其实是拆分。

组合(composite)模式

       将对象组合成树型结构表示“整体与部分”的层次结构。树形目录结构。

装饰(decorator)模式

       动态给对象添加一些额外的职能。

外观(façade)模式

       定义一个高层接口,为子系统中的一组接口提供一个一致的外观。对外统一的接口

享元(flyweight)模式

       提供支持大量数据细粒度对象共享的有效方法

代理(proxy)模式

       为其他对象提供一种代理来控制这个对象的访问

行为型模式

责任链(chain of responsibility)模式

       给多个对象处理请求的机会,减少请求者与接收者之间的耦合。例:财务审批,各层管理者审批的最高额度不同。

命令(command)模式

       将一个请求封装为一个对象,日志记录(可撤销)

解释器(interpreter)模式

       给定一种语言,定义文法,并定义一个解释器。

迭代器(iterator)模式

       提供一种方法来顺序访问一个聚合对象中的各个元素,而不需要暴露该对象的内部表示

中介者(mediator)模式

       用一个中介对象来封装一系列的对象交互。降低了耦合,还可以独立地改变对象间的交互,即不直接引用

备忘录(memento)模式

       捕获一个对象的内部消息并保存,使之可以恢复到原来状态

观察者(observer)模式

       定义对象间的一种一对多的关系,一个发生变化时,依赖他的对象会收到通知并自动更新

状态(state)模式

       允许一个对象在其内部状态改变时改变行为。会员模式

策略(strategy)模式

       定义一系列算法,把他们一一封装,他们之间可以所以切换。多方案切换

模板方法(template method)模式

       定义一个操作中的算法骨架,将一些步骤延迟到子类,时子类可以不改变算法结构就可重新定义算法的一些步骤

访问者(visitor)模式

       不改变各元素的类的前提下定义作用与这些元素的操作

有下划线的表示既可以是类模式也可以是对象模式;无则只表示对象模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值