概念 为复杂的子系统提供一个统一的对外接口,通过这个接口,能更方便、更高效地访问这些子系统,而不需要关心它们内部的复杂逻辑。 应用效果 基本结构 1)外观类(Facade):对外提供统一接口,封…
概念 动态地为对象添加额外的功能,而不影响原对象 包装而非继承,扩展而非修改 应用场景 对于已经实现基本功能类,出现添加新功能的需求时,使用装饰模式可以在不修改原代码的基础上添加新功能 适合功能经常…
概念 给某个对象提供一个代理对象,并由代理对象来控制对这个对象的访问。 代理对象会额外提供各类访问控制操作,达到增强对象的效果 应用场景 对于过于复杂的对象,访问操作非常复杂,这时候需要代理模式封装这…
概念 通过创建一个适配器类,将一个接口转换成客户端所期望的另一个接口 应用场景 适配器模式的目的是为了应对不同类或系统间接口不兼容的问题 基本结构 1)目标接口(Target):客户端希望使用的接口 …
概念 用于通过复制现有的对象来创建新对象,而不是通过“new”关键字来直接实例化 简而言之,原型模式让我们能够在已有对象的基础上创建新对象。它依赖于“克隆”已有对象的状态,从而减少了重复构建相同对象的…
概念 将一个复杂对象的创建过程拆解成多个小步骤,然后一步步构建出来。定义各种建造者或通过指挥者指挥建造者按照不同方式建造出各种产品 应用场景 1)当需要生产一种产品,由多个部分或步骤构成,且不同变种的…
概念 抽象工厂模式 提供一个“超级工厂”的接口,专门用来创建一整组互相关联的产品对象,而且不用我们关心这些产品具体是怎么实现的 简单工厂、工厂方法、抽象工厂的区别 1)简单工厂 一个工厂类负责创建所有…
概念 旨在定义一个用于创建对象的接口,但将具体的实例化工作放到子类中去完成。换句话说,工厂方法模式通过让子类决定实例化哪个具体类,从而实现了对象创建的灵活性和可扩展性。 用通俗的话来说就是工厂方法模…
概念 一个类在整个应用运行期间,只能有一个实例,而且这个实例对外提供一个全局访问点 应用场景 对于全局只会使用一个实例的类,使用单例模式减少频繁创建销毁的性能开销 基本结构 结构图 instance:…
一、面向对象设计原则分类 二、SOLID原则 (一)、单一职责原则 1.定义 一个对象应只包含单一的职责,并且该职责被完美的封装在一个类中 2.示例 1)改进前RoleDataOperation类,承…