合集-设计模式(全网最细+源码、案例实战)
摘要:核心思想 责任链模式(CoR Pattern)是一种行为型设计模式,允许你将请求沿着处理者链进行发送,收到请求后,每个处理者均可对请求进行处理,或将其传递给链上的下个处理者。 结构 1. Handler(抽象处理者) 定义了所有具体处理者的通用接口,通常包含用于处理请求的单个方法和设置链路上下一个处
阅读全文
摘要:核心思想: 属于创建型设计模式,核心目的是确保一个类在整个程序运行期间只有一个实例,并提供一个全局访问点来获取该实例。 控制共享资源的访问(如数据库链接、配置管理、日志处理器等) 真实世界类比:政府是单例模式的一个很好的示例。 一个国家只有一个官方政府。 不管组成政府的每个人的身份是什么,“某政府”
阅读全文
摘要:目的 提高软件系统的可维护性和可复用性,增加软件的可拓展性和灵活性,程序员遵循 6 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 开闭原则(OCP) 核心思想 1. 对拓展开放 软件模块应该在不修改原有代码的情况下,通过扩展的方式增加新功能。 目标:提高系统的可拓展性,适应不
阅读全文
摘要: 核心思想 简单工厂模式是一种创建者模式,它通过一个工厂类负责创建不同类型的对象,根据传入的参数决定实例化的具体类,也被称为“静态工厂方法”模式,因为工厂方法通常是静态的。 结构 1. 工厂类: 提供一个静态方法,根据不同条件创建并返回具体的产品对象。 2. 产品接口(抽象类) 定义产品的通用行为
阅读全文
摘要:核心思想 简单工厂模式是一种创建者模式,它通过一个工厂类负责创建不同类型的对象,根据传入的参数决定实例化的具体类,也被称为“静态工厂方法”模式,因为工厂方法通常是静态的。 结构 1. 工厂类: 提供一个静态方法,根据不同条件创建并返回具体的产品对象。 2. 产品接口(抽象类) 定义产品的通用行为。
阅读全文
摘要: 核心思想 抽象工厂模式是一种创建型设计模式,它提供一个接口,用于创建一系列相关或互相依赖的对象,而无需指定它们的具体类。抽象工厂模式解决了产品族的问题,可以管理和创建一组相关的产品。 编辑 结构 1. 抽象工厂 定义创建一些列相关对象的接口。 2. 具体工厂 实现抽象工厂接口,负责实例化具体
阅读全文
摘要: 核心思想 通过配置文件和反射机制动态决定具体工厂的选择,减少客户端对具体工厂和具体产品的硬编码依赖,使系统更灵活、更易扩展。 改进点: 配置文件解耦:使用配置文件动态加载具体工厂类。 反射机制扩展:通过反射机制创建具体工厂对象,避免客户端直接依赖具体工厂类。 提升扩展性:新增产品族时无需修改客户
阅读全文
摘要: 核心思想 生成器模式(Builder Pattern)是一种创建型设计模式,用于分步骤构建复杂对象,允许用户通过控制对象构造的过程,定制对象的组成部分,而无需直接实例化它们的细节。建造者模式特别适合构建具有多种配置的复杂对象。 结构 Builder(抽象建造者) 定义构造产品的抽象方法,具体建造
阅读全文
摘要: 核心思想 原型模式(Prototype Pattern)是一种创建型设计模式。它通过复制现有对象来创建新的对象,而不是通过实例化类。原型模式适用于创建成本较高或复杂的对象,或者需要避免暴露类内部复杂结构的场景。核心思想是 “克隆” 。 编辑 结构 1. Prototype(抽象原型类) 定义
阅读全文
摘要: 核心思想 代理模式(Proxy Pattern)是一种结构型设计模式,用于为对象提供一个代理对象,从而控制对目标对象的访问。代理模式可以为目标对象添加额外的功能,同时不改变目标对象的代码。 结构 抽象主题(Subject) 定义代理对象和目标对象的通用接口,使代理对象可以替代目标对象。 真实主题
阅读全文
摘要: 核心思想 适配器模式(Adapter Pattern)是一种结构型设计模式。它通过引入一个适配器类,将一个类的接口转换为客户端期望的另一个接口,使得原本由于接口不兼容而无法协作的类能够协同工作。 编辑 结构 1. 目标接口(Target) 定义客户所期待的接口。 2. 需要适配的类(Adap
阅读全文
摘要: 核心思想 装饰者模式(Decorator Pattern)是一种结构型设计模式,通过“包装”现有对象来为其添加额外的功能,而无需改变原有对象的代码。装饰者模式通过创建一个装饰类来扩展对象的功能而不是继承。这样可以灵活地在运行时动态地组合功能。 编辑 结构 1. Component(抽象构件)
阅读全文
摘要: 核心思想 桥接模式(Bridge Pattern)是一种结构型设计模式,将抽象部分与其实现部分分离,使它们可以独立变化。降低代码耦合度,避免类爆炸,提高代码的可扩展性。 编辑 结构 1. Implementation(实现类接口) 定义具体实现的行为接口。 2. ConcreteImplem
阅读全文
摘要: 核心思想 享元模式(Flyweight Pattern)是一种结构型设计模式,主要用于减少程序中大量对象的内存消耗。该模式通过共享相同的数据来有效减少内存的使用,适用于对象非常多且可以共享一部分状态的场景。 核心:将对象的内部状态和外部状态分离: 内部状态:存储在享元对象内部的、不会改变的状态,
阅读全文
摘要: 核心思想 模板方法模式(Template Method Pattern)是一种行为型设计模式,定义了一个算法的骨架(模板),将某些步骤延迟到子类中实现(在不修改结构的情况下),以避免代码重复,提高代码复用性,保持算法的结构稳定。 核心: 模板方法:在父类中定义一个算法的骨架(即模板方法),其中包
阅读全文
摘要:核心思想 享元模式(Flyweight Pattern)是一种行为型设计模式,用于定义一系列算法或策略,将它们封装成独立的类,并使它们可以相互替换,而不影响客户端的代码,提高代码的可维护性和扩展性。 结构 1. Strategy(抽象策略接口) 定义一些列可供替换的算法方法。 2. Concrete
阅读全文
摘要:核心思想 命令模式(Command Pattern)是一种行为型设计模式,将请求(操作)封装成一个独立对象,从而解耦请求方与接收方,使得命令的执行、撤销、排队等操作更易扩展和灵活。 结构 1. Command(命令接口) 定义一个执行命令的接口,所有具体命令类都需实现此接口。 2. ConcretC
阅读全文

浙公网安备 33010602011771号