代理模式

一、概念 当无法直接访问某个对象或者访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象要实现相同的接口。代理模式根据其目的不同,划分为保护代理、虚拟代理、缓存代理等。 代理模式引入一个代理对象,在客户对象和目标对象中之间起到一个中介的作用,去掉了客户不能看到的内容和服务或者添加客户需要的额外的新服务。 定义:给某一个对象提供一个代理或占位符
代理模式

享元模式

一、概念 当系统存在大量相同或者相似的对象时,可以使用享元模式。享元模式通过共享技术实现相同或者相似的细粒度对象的复用,从而节约了内存空间,提高了系统性能。在享元模式中提供了一个享元池用于存储已经创建好的享元对象,并通过享元工厂类将享元对象提供给客户端使用。 定义:运用共享技术有效地支持大量细粒度对象的复用。 享元模式与对象池模式的区别:对象池的概念是为了避免频繁地进行对象创建和释放导致内存碎片,
享元模式

装饰模式与外观模式

一、装饰模式 1.1 概念 装饰模式是一种用于替代继承的技术,它通过无须定义子类的方式来给对象动态的增加职责,使用对象之间的关联关系取代类之间的继承关系。装饰模式降低了系统的耦合度,可以动态增加或删除对象的职责。 定义:动态地给一个对象增加一些额外的职责,就扩展功能而言,装饰模式提供了一种比使用子类更加灵活的替代方案。 1.2 模式结构 Component(抽象组件):具体组件和抽象装饰类的共同父
装饰模式与外观模式

组合模式

一、概念 在面向编程中,有一条非常经典的设计原则,那就是:组合优于继承,多用组合少用继承,继承是面向对象的四大特征之一,表示is-a的类关系,继承特性解决了代码复用的问题,但是当继承的深度过度,代码变得更复杂,变得更难以维护。而组成则表示has-a的关系,是把另外一个对象当作当前这个对象的一部分,是组成我的一部分,能够很好的实现代码的复用。 组合模式是一种结构性设计模式,它允许你将对象组合成树形结
组合模式

适配器和桥接模式

一、适配器模式 1.1 概述 适配器模式充当两个不兼容接口之间的桥梁,属于结构型模式,它通过中间件(适配器)将一个类的接口转换为客户期望的另一个接口。如生活中的充电器,生活用电的电压是220V但是手机的工作电压没那么高,于是就有了充电器(变压器)让手机能在220V电压下充电,在这电源充电器就充当了一个适配器的角色。 定义:将一个类的接口转换为客户希望的另一个接口,适配器让那些接口不兼容的类可以一起
适配器和桥接模式