摘要:
Proxy Pattern, 即代理模式,用一个类代表另一个类的功能,用于隐藏、解耦真正提供功能的类,属于结构类的设计模式。 下面是 代理模式的一个简单案例。 Image 定义接口,RealImage, ProxyImage 都实现该接口。RealImage 具有真正显示功能,ProxyImage 阅读全文
摘要:
Flywight Pattern, 即享元模式,用于减少对象的创建,降低内存的占用,属于结构类的设计模式。根据名字,我也将其会理解为 轻量模式。 下面是享元模式的一个简单案例。 享元模式,主要是重用已有的对象,通过修改部分属性重新使用,避免申请大量内存。 本模式需要主要两个点: 1. 对象的 key 阅读全文
摘要:
Facade Pattern, 即外观模式,用于隐藏复杂的系统内部逻辑,提供简洁的接口给客户端调用,属于结构类的设计模式。我会将其名字理解为,门户模式。 下面是 Facade Pattern 的一个简单案例。 Shape 定义一个接口,Circle, rectangle, Square 分别实现 S 阅读全文
摘要:
Filter Pattern,即过滤模式,通过不同的过滤标准,或者低耦合将过滤标准组合在一起,对一组对象进行过滤,属于结构类的设计模式。 下面是一个过滤模式的简单案例。 Criteria 定义过滤接口,CriteriaFemale, CriteriaMale, AndCriteria, OrCrit 阅读全文
摘要:
Adapter Pattern, 即适配器模式,用于连接两个不兼容的接口,属于结构类的设计模式。 或者叫做,转换器模式。 下面是一个转换器模式简单案例。 假设已有 AudioPlayer 专门播放 mp3 格式文件,VlcPlayer 和 Mp4Player 是高级播放器,分别播放 vlc 和 mp 阅读全文
摘要:
Singleton Pattern, 即单例模式,用于获取类的一个对象,该对象在整个应用中是其类的唯一对象。单例模式属于创建类的设计模式。 SingleObject 作为单例类,内含了一个静态私有的 SingleObject 成员变量,将构造方法私有化使得外部无法构造 SingleObject 的对 阅读全文
摘要:
Factory Pattern , 即工厂模式,用于创建对象的场景,属于创建类的设计模式 。 下面是一个工厂模式案例。 Shape 作为接口, Circle, Square, Rectangle 作为具体类实现了 Shape 接口。 ShapeFactory 封装了创建各个 Shape 的方式,隐藏 阅读全文