摘要:
一、代理模式 代理模式(Proxy Pattern)是一种设计模式,它为其他对象提供一种代理以控制对这个对象的访问。这种类型的设计模式属于结构型模式。在代理模式中,我们创建一个代理对象,该对象控制对原始对象的访问。代理对象在客户端和原始对象之间起到中介的作用。代理模式允许我们在不修改原始对象代码的情 阅读全文
摘要:
一、享元模式 享元模式(Flyweight Pattern)运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,是一种对象结构型模式。 享元模式通过共享技术 阅读全文
摘要:
一、外观模式 根据单一职责原则,在软件中将一个系统划分为若干个子系统(Subsystem)有利于降低整个系统的复杂性。一个常见的设计目标是使客户类与子系统之间的通信和相互依赖关系达到最小,而达到该目标的途径之一就是引入一个外观角色(Facade),它为子系统的访问提供了一个简单而单一的入口。外观模式 阅读全文
摘要:
一、装饰模式 装饰模式(Decorator Pattern),也叫包装器模式(Wrapper Pattern),是一种设计模式。它可以在不改变一个对象本身功能的基础上,动态地给该对象增加一些额外的功能或职责。 装饰模式是一个通过组合的方式替代继承的技术,它通过一种无须定义子类的方式来给对象动态增加职 阅读全文
摘要:
一、组合模式 对于树形结构,当容器对象的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象)并调用执行,牵一而动百,其中使用了递归调用的机制来对整个结构进行处理。由于容器对象和叶子对象在功能上的区别,在使用这些对象的代码中必须有区别地对待容器对象和 阅读全文
摘要:
一、桥接模式 桥接模式 (Bridge Pattern)是一种对象结构型模式,又称为 柄体模式(Handle and Body)或 接口模式(Interface)。它将 抽象部分 与它的 实现部分 分离,使它们都可以独立地变化。桥接模式的核心逻辑是,通过抽象类和实现类之间的聚合关系,将两者解耦,从而 阅读全文
摘要:
一、适配器模式 在适配器模式(Adapter Pattern)中引入了一个被称为适配器(Adapter)的包装类,而它所包装的对象称为适配者(Adaptee),即被适配的类。适配器的实现就是把客户类的请求转化为对适配者的相应接口的调用,而无须修改原来的适配者接口和抽象目标类接口。也就是说:当客户类调 阅读全文
摘要:
一、建造者模式 建造者模式(Builder Pattern)是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离,使得同样的构建过程可以创建不同的表示。客户端无须知道复杂对象的内部组成部分与装配方式,只需要知道所需的建造者类型即可。建造者模式关注如何一步一步地创建一 阅读全文
摘要:
一、原型模式 在设计模式中也存在一个类似的模式,可以通过一个原型对象克隆出多个一模一样的对象,该模式被称为 原型模式。 原型模式(Prototype Pattern)是一种创建型设计模式,它允许通过复制(或克隆)一个已经存在的对象来创建新的对象,而无需重新实例化或重新配置。在使用原型模式时,需要首先 阅读全文
摘要:
一、抽象工厂模式 工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题。但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,可以考虑将一些相关的产品组成一个 “产品族”,由同一个工厂来统一生产,这就是本章将要学习的抽象工厂 阅读全文