摘要:
### 概述 外观模式 (Facade Pattern) 又称门面模式。它为多个子系统的接口提供了一致的访问接口,定义了高层接口,使得子系统更易于使用。 **优点**:使子系统易于使用,实现客户和子系统的松耦合关系,不影响客户直接使用子系统类。 **缺点**:一定程度上违反“开闭原则”。 图示: ! 阅读全文
摘要:
### 概述 装饰模式 (Decorator Pattern) 又称包装器,与适配器模式别名一样,但使用的目的不同。它动态地给一个对象添加职责,相比于通过继承添加职责更加灵活。也称“油漆工”模式(视翻译而定)。 **优点**:扩展对象功能的同时提高了灵活性,符合“开闭原则”。 **缺点**:增加系统 阅读全文
摘要:
概述 组合模式 (Composite Pattern) 又称“整体-部分” (Part-Whole) 模式,它将多个对象组合成树状结构,表示整体-部分的层次,对不同对象的处理提供一致性。 优点:清楚地定义分层次的复杂对象。一致地对待所有对象。 缺点:设计难度高,难以限制复合对象中的元素类型。 abs 阅读全文
摘要:
概述 桥接模式 (Bridge Pattern) 又称柄体 (Handle and Body) 模式、接口模式。它将可能有着继承关系的对象的抽象和实现分离,使得两者可以独立地变化。 优点:分离了抽象部分和实现部分,提高了灵活性和可扩展性,隐藏了实现的细节。 缺点:降低了系统可理解性,提高了设计难度, 阅读全文
摘要:
概述 适配器模式 (Adapter Pattern) 将某个类的接口转换成客户希望的另一个接口,使接口不兼容的类也能够一起工作。又称包装器 (Wrapper)。既可以作为类结构型模式,也可以作为对象结构型模式。 优点:目标类和 adaptee 类解耦。提高了类的透明性和可复用性,灵活性和扩展性。 缺 阅读全文
摘要:
概述 单例模式 (Singleton Pattern) 又称单件模式、单态模式。确保一个类只能有一个实例,同时保证该类的实例只能在类内部创建,提供给整个系统使用。 优点:节约系统资源,提高系统性能。 缺点:扩展困难,一定程度上违反了“单一职责原则”。 class Singleton { privat 阅读全文
摘要:
概述 原型模式 (prototype pattern) 是将某个类实例作为原型,对这个原型进行复制得到相同类型的多个实例。 优点:当需要创建的类型比较复杂时,使用原型模式可以简化创建过程。 缺点:每个类都需要有一个克隆方法,对于深复制比较复杂。 Java 中,实现 Cloneable 接口可以使用 阅读全文
摘要:
概述 建造者模式 (Builder Pattern) 又称生成器模式(视翻译而定)。该模式由一个抽象建造者类、多个具体建造者类、被创建的复杂类、指挥者(director)类构成。抽象建造者类定义被创建类的创建步骤;具体创建者类根据不同目的实现创建步骤;被创建类定义自身的复杂属性成员;指挥者类使用具体 阅读全文
摘要:
概述 抽象工厂 (abstract factory) 模式又称 Kit 模式,由一个抽象工厂类、多个抽象产品类以及这些抽象类的多个具体子类构成。每个具体工厂类可以创建每个抽象产品类的某个具体子类。 优点:高内聚低耦合,符合“开闭原则”。 缺点:难以添加新的产品类,这涉及到更改抽象工厂类,这个类的修改 阅读全文