个人技术分享

一、代理模式

(一)概念

为某对象提供一种代理以控制对该对象的访问。(proxy)

(二)图示

(三)适用

  • 远程代理
  • 虚拟代理
  • 安全代理
  • 智能指引
  • 延迟加载

二、适配器模式

(一)概念

将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。(Adapter)

(二)图示

(三)适用

  • 系统需要使用现有的类,而此类的接口不符合系统的需要。
  • 想要建立一个可以重复使用的类
  • 通过接口转换,将一个类插入另一个类系中。

三、桥接模式

(一)概念

桥接模式是将一个抽象与其实现分离开,以便两者能够各自独立地演变。(Abstraction)

(二)图示

桥接模式

(三)适用

  • 在抽象和具体实现之间需要增加更多的灵活性的场景
  • 一个类存在两个或多个独立变化的维度,而这两个或多个维度都需要独立进行扩展
  • 不希望使用继承,或因为多层继承导致系统类的个数剧增

四、装饰模式

(一)概念

动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能。(Decorator)

(二)图示

装饰模式

(三)适用

在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责;处理那些可以撤销的职责;当不能采用生成子类的方式进行扩充时。