原型模式 原型模式原型模式⼀种创建型设计模式,该模式的核⼼思想是基于现有的对象创建新的对象,而不是从头开始创建。在原型模式中,通常有⼀个原型对象,它被⽤作创建新对象的模板。新对象通过复制原型对象的属性和状态来创建,而无需知道具体的创建细节。 为什么要使用原型模式 相比于直接实例化对象,通过原型模式复制对象可以减少资源消耗,提⾼性能,尤其在对象的创建过程复杂或对象的创建代价较⼤的情况下。当需要频繁创建相似对象 2023-10-15 计算机基础 > 设计模式 #计算机基础
建造者模式 建造者模式建造者模式(也被成为生成器模式),是⼀种创建型设计模式,软件开发过程中有的时候需要创建很复杂的对象,⽽建造者模式的主要思想是将对象的构建过程分为多个步骤,并为每个步骤定义⼀个抽象的接口。具体的构建过程由实现了这些接口的具体建造者类来完成。同时有⼀个指导者类负责协调建造者的工作,按照⼀定的顺序或逻辑来执行构建步骤,最终生成产品 建造者(Builder)模式的主要角色如下。 产品角色(Pro 2023-10-15 计算机基础 > 设计模式 #计算机基础
工厂模式 简单工厂模式简单工厂模式是属于创建型模式,又叫做静态工厂方法模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。调用只需要告诉工厂类所需要的类型,工厂类就会返回需要的产品类工厂的子类。 可以说是工厂模式中最简单的一种。 静态工厂 123456789101112131415public class ChartFactory { public static Chart 2023-10-15 计算机基础 > 设计模式 #计算机基础
代理模式 代理模式代理模式(Proxy Pattern)是一种结构型设计模式,它的概念很简单,它通过创建一个代理对象来控制对原始对象的访问。代理模式主要涉及两个角色:代理角色和真实角色。代理类负责代理真实类,为真实类提供控制访问的功能,真实类则完成具体的业务逻辑。这样,当我们不方便或者不能直接访问真实对象时,可以通过代理对象来间接访问。使用代理模式主要有两个目的:一是保护目标对象,二是增强目标对象。 2023-10-15 计算机基础 > 设计模式 #计算机基础
装饰着模式 装饰者模式设计模式类型 : 结构性 概念 : 不改变原有类的对象 , 动态地将额外的功能附加到该对象上 ; 扩展对象功能 : 这种功能扩展方式比类继承更加灵活 ; 装饰者模式 : 移除类中的被装饰功能 , 将被装饰类简化 , 区分类的核心职责和装饰功能 ; 装饰者模式适用场景 :① 功能扩展 : 为一个类扩展功能 , 为其添加额外的职责 ( 强调扩展 ) ② 动态添加撤销功能 : 为一个对象动 2023-10-15 计算机基础 > 设计模式 #计算机基础
门面模式 ##门面模式 门面模式是一种结构型设计模式,它提供了一个统一的接口,用来访问子系统中的一群接口。它定义了一个高层接口,让子系统更容易使用。这种模式常用于将一个复杂的子系统封装成一个简单的接口,使得客户端可以方便地使用子系统的功能,而不需要了解子系统的具体实现细节。 ##门面模式的特点 代理模式能够隐藏真实对象的实现细节,使客户端无需知晓真实对象的工作方式和结构。 通过代理类来间接访问真实类,可以 2023-10-15 计算机基础 > 设计模式 #计算机基础
桥接模式 桥接模式桥接模式(Bridge Pattern) 也称为桥梁模式、接口模式或者柄体模式,是将抽象部分与它的具体实现部分分离,使它们都可以独立地变化,属于结构型模式。桥接模式主要目的是通过组合的方式建立两个类之间的联系,而不是继承。但又类似于多重继承方案,但是多重继承方案往往违背了类的单一职责原则,其复用性较差,桥接模式是比多重继承更好的替代方案。桥接模式的核心在于解耦抽象和实现。 桥接模式的一个常 2023-10-15 计算机基础 > 设计模式 #计算机基础
组合模式 组合模式定义组合模式(Composite Pattern)又称为合成模式、部分-整体模式(Part-Whole),主要用来描述部分与整体的关系。 定义:将对象组合成树形结构以表示“部分-整体”的层次结构,使用户对单个对象和组合对象的使用具有一致性 使用场景如树形菜单、文件、文件夹管理 从一个整体中独立出部分模块或功能的场景 组合模式使用面向对象的思想来实现树形结构的构建与处理,描述了如何将容器对象 2023-10-15 计算机基础 > 设计模式 #计算机基础
观察者模式 观察者模式观察者模式属于行为型模式。在程序设计中,观察者模式通常由两个对象组成:观察者和被观察者。当被观察者状态发生改变时,它会通知所有的观察者对象,使他们能够及时做出响应,所以也被称作“发布-订阅模式”。 组成 抽象主题(Subject):定义了一个接口,包含了注册观察者、删除观察者、通知观察者等方法。 具体主题(ConcreteSubject):实现了抽象被观察者接口,维护了一个观察者列表, 2023-10-15 计算机基础 > 设计模式 #计算机基础
策略模式 策略模式策略模式(Strategy Pattern)属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。其主要目的是通过定义相似的算法,替换if else 语句写法,并且可以随时相互替换。 策略模式主要由这三个角色组成,环境角色(Context)、抽象策略角色(Strategy)和具体 2023-10-15 计算机基础 > 设计模式 #计算机基础