设计模式理论系列2

构建器模式

解决问题:一个复杂对象的创建工作,各个部分剧烈变化,组合起来在一起的算法相对稳定

和模板模式的区别主要是,构建模式主要复杂对象的创建

img

模板模式

img

定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现

单例模式

对象性能模式,有时候需要保证只有一个实例的场景下

img

定义一个单例类:

  1. 私有化它的构造函数,以防止外界创建单例类的对象;
  2. 使用类的私有静态指针变量指向类的唯一实例;
  3. 使用一个公有的静态方法获取该实例。

享元模式

img

享元模式(Flyweight):运用共享技术有效的支持大量细粒度的对象。

门面模式

在这里插入图片描述

  • 从客户程序的角度来看,Facade模式简化了整个组件系统的接口,对于组件内部与外部客户程序来说,达到了一种“解耦”的效果一内部子系统的任何变化不会影响到Facade接口的变化。
  • Facade设计模式更注重从架构的层次去看整个系统,而不是单个类的层次。Facade很多时候更是一种架构设计模式。
  • Facade设计模式并非一个集装箱,可以任意地放进任何多个对象。Facade模式中组件的内部应该是"相互耦合关系比较大的一系列组件”, 而不是一个简单的功能集合。

代理模式

img

给某一个对象提供一个代理,并由代理对象控制对原对象的引用。(为其他对象提供一种代理以控制这个对象的访问)

适配器模式

将一个类的接口转换为客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

img

当系统的数据和行为都正常,但接口不负荷时,可以考虑使用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用的环境要求不一致的情况。

迭代器模式

img

迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。

当你需要一个聚集对象,而且不管这些对象,而不管这些对象是什么都需要遍历的时候,就应该考虑用迭代器模式;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值