【设计模式】-【单例模式】

创建型

结构型

  • Adapter Class/Object(适配器):在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。共有两类适配器模式:对象适配器模式、类适配器模式。
  • Bridge(桥接):Bridge 模式把两个角色之间的继承关系改为了耦合的关系,从而使这两者可以从容自若的各自独立的变化,这也是Bridge模式的本意设计模式(六)桥连模式Bridge(结构型)

    例如:现需要提供大中小3种型号的画笔,能够绘制5种不同颜色,如果使用蜡笔,我们需要准备3*5=15支蜡笔,也就是说必须准备15个具体的蜡笔类。而如果使用毛笔的话,只需要3种型号的毛笔,外加5个颜料盒,用3+5=8个类就可以实现15支蜡笔的功能。实际上,蜡笔和毛笔的关键一个区别就在于笔和颜色是否能够分离。即将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化”。关键就在于能否脱耦。蜡笔的颜色和蜡笔本身是分不开的,所以就造成必须使用15支色彩、大小各异的蜡笔来绘制图画。而毛笔与颜料能够很好的脱耦,各自独立变化,便简化了操作。在这里,抽象层面的概念是:”毛笔用颜料作画”,而在实现时,毛笔有大中小三号,颜料有红绿蓝黑白等5种,于是便可出现3×5种组合。每个参与者(毛笔与颜料)都可以在自己的自由度上随意转换。蜡笔由于无法将笔与颜色分离,造成笔与颜色两个自由度无法单独变化,使得只有创建15种对象才能完成任务。

  • Composite(组合)
  • Decorator(装饰): 装饰器模式(Decorator)——深入理解与实战应用

    • 适配器 vs 代理模式:适配器改变所考虑的对象的接口,代理模式不能改变所代理对象的接口
    • 装饰器 vs 代理模式: 装饰器为所装饰的对象提供增强功能,代理模式对对象的使用施加控制,不提供对象本身的增强功能
    • 适配器 vs 装饰器模式:都是包装模式,适配器把一个API转换成另一个API,装饰器保存被包装的对象的API
  • Facade(外观):https://www.jianshu.com/p/1b027d9fc005
    • 与适配器模式的区别
      • 外观模式的实现核心主要是——由外观类去保存各个子系统的引用,实现由一个统一的外观类去包装多个子系统类,然而客户端只需要引用这个外观类,然后由外观类来调用各个子系统中的方法。
      • 这样的实现方式非常类似适配器模式,然而外观模式与适配器模式不同的是:适配器模式是将一个对象包装起来以改变其接口,而外观是将一群对象 ”包装“起来以简化其接口。它们的意图是不一样的,适配器是将接口转换为不同接口,而外观模式是提供一个统一的接口来简化接口。
  • Flyweight(享元)
  • Proxy(代理)

行为型

  1. Command(命令)

  2. Iterator(迭代器)

  3. Mediator(中介者)

  4. Memento(备忘录)

  5. Observer(观察者)

  6. State(状态)

  7. Strategy(策略)

  8. Visitor(访问者)

参考资料


====================================================


全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务