设计模式的具体应用场景

Keil v5.11给STM32烧录程序记录 1)安装KeilMDK511 2)安装ST Link下载器驱动 3)打开Keil v5,加载工程文件 4)load pack(Keil.STM32F1xx_DFP.1.1.0和Keil.STM32F0xx_DFP.1.2.0) 5)编译程序- 0 Error(s), 0 Warning(s). 6)烧录程序 ... 阅读详情

设计模式的具体介绍有很多优秀的博文讲的已经很明白,这里不过多赘述。大部分博文只介绍了设计模式的概念和相关代码,这里为大家举一些具体的使用场景。

工厂模式(Factory Pattern)

  • 图像处理软件中的图像读取器工厂,根据不同图像格式返回对应的读取器对象。
  • 汽车制造业中的汽车工厂,根据不同的订单需求生产不同型号的汽车。
  • 游戏开发中的怪物生成器工厂,根据游戏关卡需求生成不同种类的怪物。
  • 文件系统中的文件对象工厂,根据文件类型创建相应的文件对象。
  • 在 Hibernate 中,如果需要更换数据库,工厂模式同样发挥了作用。只需简单地更改方言(Dialect)和数据库驱动(Driver),就能够实现对不同数据库的切换。
  • 日志记录器:记录可能记录到本地硬盘、系统事件、远程服务器等,用户可以选择记录日志到什么地方,调用相应的记录器即可。
  • 设计一个连接服务器的框架,需要三个协议,“POP3”、“IMAP”、“HTTP”,可以把这三个作为产品类,共同实现一个接口。

抽象工厂模式(Abstract Factory Pattern)

  • UI框架中的主题工厂,根据用户选择的主题返回对应的UI组件工厂。
  • 软件产品线中的产品家族工厂,根据不同产品线返回不同产品家族的组件工厂。
  • 汽车制造业中的汽车零件工厂,根据不同车型返回对应的零件工厂。
  • 电子设备制造中的电路板工厂,根据设备类型生产不同类型的电路板。
  • 在您的家中,某一个衣柜(具体工厂)只能存放某一种这样的衣服(成套,一系列具体产品),每次拿这种成套的衣服时也自然要从这个衣柜中取出了。用 OOP 的思想去理解,所有的衣柜(具体工厂)都是衣柜类的(抽象工厂)某一个,而每一件成套的衣服又包括具体的上衣(某一具体产品),裤子(某一具体产品),这些具体的上衣其实也都是上衣(抽象产品),具体的裤子也都是裤子(另一个抽象产品)。
  • QQ 换皮肤,一整套一起换。
  • 生成不同操作系统的程序。

单例模式(Singleton Pattern)

  • 日志系统中的日志管理器,保证全局只有一个实例记录日志。
  • 网络连接池中的连接管理器,保证全局只有一个实例管理连接。
  • 配置管理器,保证全局只有一个实例来管理配置信息。
  • 线程池中的线程管理器,保证全局只有一个实例来管理线程。
  • 数据库连接池中的连接池管理器,保证全局只有一个实例管理数据库连接。
  • 一个班级只有一个班主任。
  • Windows 是多进程多线程的,在操作一个文件的时候,就不可避免地出现多个进程或线程同时操作一个文件的现象,所以所有文件的处理必须通过唯一的实例来进行。
  • 一些设备管理器常常设计为单例模式,比如一个电脑有两台打印机,在输出的时候就要处理不能两台打印机打印同一个文件。
  • 要求生产唯一序列号。
  • WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例先缓存起来。
  • 创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。

建造者模式(Builder Pattern)

  • 文章编辑器中的文章构建器,根据用户输入的内容构建文章对象。
  • 游戏角色创建器,根据用户选择的角色特征构建游戏角色对象。
  • 套餐订单构建器,根据用户选择的商品组合构建订单对象。
  • 电子商务网站中的购物车构建器,根据用户选购商品构建购物车对象。
  • 自定义表单构建器,根据用户需求构建自定义表单对象。
  • 去肯德基,汉堡、可乐、薯条、炸鸡翅等是不变的,而其组合是经常变化的,生成出所谓的"套餐"。
  • JAVA 中的 StringBuilder。

原型模式(Prototype Pattern)

  • 游戏开发中的角色克隆器,用于制作游戏角色的副本。
  • 文档编辑器中的文档复制器,用于复制文档并进行修改。
  • 模板复制器,用于复制模板文件以创建新的文档。
  • 图像处理软件中的图像克隆器,用于制作图像的副本并进行编辑。
  • 电子商务网站中的商品克隆器,用于复制商品以创建新的商品对象。
  • 细胞分裂。
  • JAVA 中的 Object clone() 方法。
  • 一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。
  • 通过 new 产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。
  • 一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多个对象供调用者使用。
  • 在实际项目中,原型模式很少单独出现,一般是和工厂方法模式一起出现,通过 clone的方法创建一个对象,然后由工厂方法提供给调用者。

适配器模式(Adapter Pattern)

  • 在新系统中使用旧版接口的适配器。
  • 将不同的日志记录器适配为统一的接口以便使用。
  • 将不同数据库API适配为统一的数据访问接口。
  • 将不同的支付接口适配为系统内部的支付处理器。
  • 将外部API适配为内部系统的数据交换格式。
  • 读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。
  • 美国电器 110V,中国 220V,就要有一个适配器将 110V 转化为 220V。
  • JAVA JDK 1.1 提供了 Enumeration 接口,而在 1.2 中提供了 Iterator 接口,想要使用 1.2 的 JDK,则要将以前系统的 Enumeration 接口转化为 Iterator 接口,这时就需要适配器模式。
  • 在 LINUX 上运行 WINDOWS 程序。
  • JAVA 中的 jdbc。

桥接模式(Bridge Pattern)

  • 在不同平台上实现相同功能的桥接实现。
  • 将不同数据库和ORM框架进行桥接。
  • 将不同的图形库和绘图引擎进行桥接。
  • 在不同操作系统上实现相同的界面桥接。
  • 将不同的通信协议进行桥接。
  • 墙上的开关,可以看到的开关是抽象的,不用管里面具体怎么实现的。

过滤器模式(Filter Pattern)

  • 判断用户是否登录或具有访问权限,如使用Authorize特性来限制只有通过身份验证的用户才能访问某些控制器或操作方法。
  • 实现自定义的授权逻辑,如根据用户的角色、权限、IP地址等来决定是否允许访问。
  • 实现一些全局的安全策略,如防止CSRF攻击、加密或解密请求参数等。
  • 实现常见的错误处理策略,如捕获并处理控制器或操作方法中发生的未处理的异常,返回统一的错误信息或页面。
  • 记录或分析异常信息,如记录异常日志,发送异常通知,收集异常统计等。
  • 根据不同的异常类型或来源,执行不同的处理逻辑,如重定向到不同的错误页面,返回不同的错误码等。

组合模式(Composite Pattern)

  • 构建树状结构的菜单和子菜单。
  • 文件系统中的文件夹和文件结构。
  • 组织架构中的部门和员工关系。
  • 在图形界面中构建复杂的UI组件。
  • 电子设备中的电路板和电子元件组合。
  • 算术表达式包括操作数、操作符和另一个操作数,其中,另一个操作数也可以是操作数、操作符和另一个操作数。
  • 在 JAVA AWT 和 SWING 中,对于 Button 和 Checkbox 是树叶,Container 是树枝。
  • 部分、整体场景,如树形菜单,文件、文件夹的管理。

装饰器模式(Decorator Pattern)

  • 在文本编辑器中添加字体、颜色和样式装饰器。
  • 在图像处理软件中添加滤镜和效果装饰器。
  • 在日志记录系统中添加日志格式化和输出装饰器。
  • 在游戏中添加武器和装备的属性装饰器。
  • 在报表生成系统中添加图表和数据可视化装饰器。
  • 孙悟空有 72 变,当他变成"庙宇"后,他的根本还是一只猴子,但是他又有了庙宇的功能。
  • 不论一幅画有没有画框都可以挂在墙上,但是通常都是有画框的,并且实际上是画框被挂在墙上。在挂在墙上之前,画可以被蒙上玻璃,装到框子里;这时画、玻璃和画框形成了一个物体。
  • 扩展一个类的功能,动态增加功能,动态撤销。

外观模式(Facade Pattern)

  • 向用户提供简化的订单处理接口。
  • 对外部服务进行封装,提供统一的接口。
  • 在系统中提供统一的认证和授权接口。
  • 将复杂的数据处理流程封装为简单的
  • 去医院看病,可能要去挂号、门诊、划价、取药,让患者或患者家属觉得很复杂,如果有提供接待人员,只让接待人员来处理,就很方便。
  • JAVA 的三层开发模式。界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据库操作层(Data access layer)。
  • 为复杂的模块或子系统提供外界访问的模块。
  • 子系统相对独立。
  • 预防低水平人员带来的风险。

享元模式(Flyweight Pattern)

  • JAVA 中的 String,如果有则返回,如果没有则创建一个字符串保存在字符串缓存池里面。
  • 数据库的连接池。
  • 系统有大量相似对象。
  • 需要缓冲池的场景。

代理模式(Proxy Pattern)

  • Windows 里面的快捷方式。
  • 猪八戒去找高翠兰结果是孙悟空变的,可以这样理解:把高翠兰的外貌抽象出来,高翠兰本人和孙悟空都实现了这个接口,猪八戒访问高翠兰的时候看不出来这个是孙悟空,所以说孙悟空是高翠兰代理类。
  • 买火车票不一定在火车站买,也可以去代售点。
  • 一张支票或银行存单是账户中资金的代理。支票在市场交易中用来代替现金,并提供对签发人账号上资金的控制。
  • spring aop。
  • 按职责来划分,通常有以下使用场景: 1、远程代理。 2、虚拟代理。 3、Copy-on-Write 代理。 4、保护(Protect or Access)代理。 5、Cache代理。 6、防火墙(Firewall)代理。 7、同步化(Synchronization)代理。 8、智能引用(Smart Reference)代理。

责任链模式(Chain of Responsibility Pattern)

  • JS 中的事件冒泡。
  • JAVA WEB 中 Apache Tomcat 对 Encoding 的处理,Struts2 的拦截器,jsp servlet 的 Filter。
  • 有多个对象可以处理同一个请求,具体哪个对象处理该请求由运行时刻自动确定。
  • 在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。
  • 可动态指定一组对象处理请求。

命令模式(Command Pattern)

  • GUI中每一个按钮都是一条命令。
  • 模拟CMD。

解释器模式(Interpreter Pattern)

  • 编译器。
  • 运算表达式计算。
  • 可以将一个需要解释执行的语言中的句子表示为一个抽象语法树。
  • 一些重复出现的问题可以用一种简单的语言来进行表达。
  • 一个简单语法需要解释的场景。

迭代器模式(Iterator Pattern)

  • JAVA 中的 iterator。
  • 访问一个聚合对象的内容而无须暴露它的内部表示。
  • 需要为聚合对象提供多种遍历方式。
  • 为遍历不同的聚合结构提供一个统一的接口。

中介者模式(Mediator Pattern)

  • 中国加入 WTO 之前是各个国家相互贸易,结构复杂,现在是各个国家通过 WTO 来互相贸易。
  • 机场调度系统。
  • MVC 框架,其中C(控制器)就是 M(模型)和 V(视图)的中介者。
  • 系统中对象之间存在比较复杂的引用关系,导致它们之间的依赖关系结构混乱而且难以复用该对象。
  • 想通过一个中间类来封装多个类中的行为,而又不想生成太多的子类。

备忘录模式(Memento Pattern)

  • 打游戏时的存档。
  • Windows 里的 ctrl + z。
  • IE 中的后退。
  • 数据库的事务管理。
  • 需要保存/恢复数据的相关状态场景。
  • 提供一个可回滚的操作。

观察者模式(Observer Pattern)

  • 拍卖的时候,拍卖师观察最高标价,然后通知给其他竞价者竞价。
  • 西游记里面悟空请求菩萨降服红孩儿,菩萨洒了一地水招来一个老乌龟,这个乌龟就是观察者,他观察菩萨洒水这个动作。

状态模式(State Pattern)

  • 打篮球的时候运动员可以有正常状态、不正常状态和超常状态。
  • 曾侯乙编钟中,‘钟是抽象接口’,'钟A’等是具体状态,'曾侯乙编钟’是具体环境(Context)。
  • 行为随状态改变而改变的场景。
  • 条件、分支语句的代替者。

策略模式(Strategy Pattern)

  • 诸葛亮的锦囊妙计,每一个锦囊就是一个策略。
  • 旅行的出游方式,选择骑自行车、坐汽车,每一种旅行方式都是一个策略。
  • JAVA AWT 中的 LayoutManager。
  • 如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。
  • 一个系统需要动态地在几种算法中选择一种。
  • 如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重的条件选择语句来实现。

模板模式(Template Pattern)

  • 在造房子的时候,地基、走线、水管都一样,只有在建筑的后期才有加壁橱加栅栏等差异。
  • 西游记里面菩萨定好的 81 难,这就是一个顶层的逻辑骨架。
  • spring 中对 Hibernate 的支持,将一些已经定好的方法封装起来,比如开启事务、获取 Session、关闭 Session 等,程序员不重复写那些已经规范好的代码,直接丢一个实体就可以保存。
  • 有多个子类共有的方法,且逻辑相同。
  • 重要的、复杂的方法,可以考虑作为模板方法。
【Agent实战】Anthropic Skills、MCP与LangGraph的工程实践 随着大语言模型(LLM)应用从简单的Chatbot向自主智能体(Autonomous Agents)演进,如何管理复杂的任务上下文、标准化的工具调用以及确定性的业务流程,成为了系统设计的核心挑战。Anthropic 推出的 Skills 规范,结合 Model Context Protocol (MCP) 与 Function Calling,为构建模块化、可扩展的 Agent 提供了全新的范式。 阅读详情

相关推荐

【华为OD机试真题 新系统】1010、魔法阵的能量收集 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 新系统】1010、魔法阵的能量收集 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2026e卷,od机试,2026E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2026华为od,如何备战华为

KJ.JK 974

23种设计模式的分类和应用场景总结【设计模式

设计模式是一种在软件设计中用于解决常见问题的方法。它们提供了一组可重用的设计,可以被用来解决软件设计中的各种问题。下面是23种常见的设计模式,以及它们的适用场景:🍊1️⃣工厂模式:在这种模式中,一个类用于创建另一个类的实例。这种模式适用于在不知道具体实现细节的情况下创建对象的场景。🍊2️⃣抽象工厂模式:这种模式提供了一种方法来创建相关或依赖对象的家族,而不需要指定它们的具体类。它适用于需要创建多个不同类型的对象的场景。🍊3️⃣单例模式:这种模式确保某个类只有一个实例,并提供一个全局访问点来访问它。

『愚』的博客 1万+

基于 STM32 的智慧农业温室控制系统设计与实现

本文提出一种基于 STM32 微控制器的智慧农业温室控制系统设计方案,通过集成多类型环境传感器、执行机构及无线通信模块,实现对温室内温湿度、光照、土壤湿度等参数的实时监测与自动调控。文中详细阐述硬件选型、电路连接及软件实现流程,并附关键代码示例,为智慧农业领域提供低成本、高可靠性的温室控制解决方案。

weixin_42300449的博客 1876

各种设计模式的使用场景

各种设计模式的使用场景 1. Creational Patterns 创建型模式 1.1 Prototype Pattern 原型模式 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 应用场景:不是同一个对象,但是属于同类的复制,例如复印技术。 1.2 Singleton Pattern 单例模式 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 应用场景:控制游戏中声音播放;UI窗口显示;资源加载;计时器等。 1.3 Abstract Factory Patte

qq_36382679的博客 3764

十种常见设计模式应用场景与使用方法

学好设计模式有助于提高代码的质量,使代码更易于维护和扩展。以下是一些常见设计模式的简单应用场景和使用方法,如有错误之处,望指正!

BASK2311的博客 3336

设计模式大全

  Longronglin之设计模式:Christopher Alexander 说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。模式描述为:在一定环境中解决某一问题的方案,包括三个基本元素--问题,解决方案和环境。阅读类图和对象图请先学习UML创建模式 结构模式 行为模式创建模式:对类

马如林的IT博客 8万+

设计模式【精简概述, 应用场景】(个人总结)

声明: 1. 本文为我的个人复习总结, 并非那种从零基础开始普及知识内容详细全面,言辞官方的文章 2. 由于是个人总结, 所以用最精简的话语来写文章 3. 若有错误不当之处, 请指出 Gof23设计模式分为三类: 创建型模式 负责组件的创建 结构型模式 负责组件的定义 行为型模式 负责组件的使用(服役) 七大设计原则: OCP开闭原则: 对扩展开放, 对修改关闭; 扩展新类而不是修改旧类 依赖倒置原则: 面向抽象的接...

hellosrc的博客 1934

设计模式具体应用场景

设计模式具体场景 创建者模式 单例模式: 保证每次使用的都是一个对象 工厂模式:将创建的工作交给工厂处理 抽象工厂模式:传入工厂参数,工厂可以创建多个产品 建造者模式:对象属性太多的时候使用 原型模式:通过字节码克隆对象,比new 效率更高 结构型模式 适配器模式: 装饰器模式:给某个对象赋能,但时对象并不意识到他的存在。 代理模式:事务前后一些通用的操作可以统一封装处理 外观模式:外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行 桥接模式:你给我一个什么对象

拱卒的博客 1021

Java中常用的设计模式(附代码实现和具体应用场景

Java中的23种设计模式:Java中的23种设计模式常见的几种设计模式:1、工厂模式2、单例模式3、代理模式4、观察者模式5、适配器模式介绍实现6、命令模式介绍实现 Java中的23种设计模式 Factory(工厂模式), Builder(建造模式), Factory Method(工厂方法模式),Prototype(原始模型模式),Singleton(单例模式), Facade(门面模式),Adapter(适配器模式), Bridge(桥梁模式), Composite(合成模式),Decorator(装

记录开发中常见的问题以及技术等 2万+

设计模式:简单工厂设计模式具体应用场景举例

可以使用简单工厂模式来创建不同类型的日志记录器对象,根据用户的选择创建相应的日志记录器对象进行日志记录。我们可以使用简单工厂模式来创建不同类型的图形对象,根据用户的选择创建相应的图形对象进行绘制。需要注意的是,简单工厂模式适用于对象类型相对较少且创建逻辑相对简单的场景。对象的创建过程相对稳定:如果对象的创建过程相对稳定,不会经常变化,可以使用简单工厂模式。创建对象的逻辑相对简单:如果需要创建的对象的逻辑相对简单,没有太多复杂的依赖关系或初始化过程,可以使用简单工厂模式来创建对象。

学亮编程手记 322

java23种设计模式一(连载)

设计模式概要 设计模式,顾名思义,它是一种模式,在面向对象中,它运用类与它们的方法来达到目标。使用它便于代码的可重用和可读性,有利于系统的维护。《Design pattern》一书中首次提出了23种设计模式,倘若你想成为编程高手,就必须要学习设计模式。 以下...

chongsi9495的博客 121

Go语言设计模式案例分析:golang-design-pattern中的经典应用场景

在Go语言开发中,设计模式是解决常见问题的最佳实践。本文基于[golang-design-pattern](https://link.gitcode.com/i/91a4c59a757cacc48999af363e99baaa)项目,分析三种核心设计模式的实现方式与应用场景,帮助开发者快速掌握设计模式在Go项目中的落地方法。 ## 设计模式概览 该项目实现了23种设计模式,分为三大类: - ...

gitblog_00530的博客 474

设计模式——桥接模式

桥接模式(Bridge Pattern)是一种结构型设计模式,用于将抽象部分与实现部分分离,使它们可以独立地变化。它通过提供一个桥接结构,将抽象部分与实现部分解耦,这样两者的变化不会相互影响,从而应对多层继承结构带来的问题。假设你正在设计一个游戏,游戏中有不同类型的角色和武器。如果不使用桥接模式,你可能会为每种角色和武器的组合创建一个子类,这样会导致大量的子类产生。但是,如果使用桥接模式,你可以将角色和武器分离开来,使得它们可以独立地进行扩展。

2302_77758423的博客 888

设计模式之中介设计模式

一、定义 中介设计模式的初衷就迪米特原则中所期望的,一个类只与自己的朋友类有交流(所谓朋友类就是类中的属性和方法的参数中出现的类)。当一个类与众多类有交流时,就可以考虑使用该设计模式。把自己完成不了的事情交给中介类去完成。 我们只需要记住该设计模式的几个重要对象就可以轻松运用: 1:抽象中介类;2:具体中介类;3:同事类; 明确概念,中介模式出现的意义在于:同事类之间的交集...

HelloWorld! 413

JS设计模式之迭代器模式

迭代器模式提供顺序访问集合元素的方法,分离遍历逻辑与集合表示,支持多种遍历方式,适用于复杂数据结构、数据流处理、GUI、数据库查询等场景,增加系统复杂性及性能开销。

我码玄黄的博客 1114

设计模式——装饰器模式

举个简单的例子来说,假设你有一个芭比娃娃类,你想要为它穿上不同颜色、款式的衣服,如果每一个颜色/款式都要实现一个子类,就会产生大量的类。事实上,我们可以考虑用装饰模式动态地添加和删除,而而不需要修改芭比娃娃类本身,这样使得代码更加简洁和灵活。

m0_63211179的博客 682

前端面试常问的设计模式及其应用场景解析

设计模式是一种在特定情境下解决问题的标准化方法。它描述了一个问题以及该问题的解决方案,并且提供了一种重用这一解决方案的方式。设计模式不是完成的代码,而是指导思想。

你好,欢迎来到我的个人技术博客!我是一个还有头发的程序猿,一名热衷于探索编程奥秘的程序员。在这个充满无限可能的数字时代,我致力于通过代码编织梦想,解决问题,不断追求技术的极致。 自从踏上编程之旅以来,我涉足了多个领域,包括但不限于Web开发、移动应用开发 1988

精通Java设计模式从初见到相爱之装饰设计模式(7)

为什么80%的码农都做不了架构师?>>> ...

weixin_34177064的博客 104

设计模式 - DesignPattern

1.设计模式的分类?     设计模式分为三大类:     创建型模式,共五种:工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。     结构型模式,共七种:适配器模式,装饰模式,代理模式,外观模式,桥接模式,组合模式,享元模式。     行为型模式,共十一种:策略模式,模板方法模式,观察者模式,迭代子模式,责任链模式,命名模式,                            ...

lanhai_scut的博客 348

状态机设计模式_【简易设计模式08】状态模式

总第60篇自然界中所有事物都有自己的存在形态,比如水有固态、液态、气态,三种不同的形态有着完全不一样的外在特性,我们将事物所处的某一种形态称为状态。本篇将详细梳理设计模式中的状态模式。1.状态模式的概念状态模式(State Pattern)也称对象的行为模式,是指一个对象在其内部状态发生改变时,它表现的行为和外在属性不一样,这个对象看上去像是改变了它的类型一样。状态模式的核心是封装,其对应的类图关...

weixin_39768695的博客 301

设计模式之建造者模式

建造者模式(Builder Pattern)是一种创建型设计模式,旨在将一个复杂对象的构建过程与其表示分离。它允许通过一步步地构造对象,而不需要暴露对象的内部细节和构建过程。通常,这个模式适用于创建对象时需要多个步骤,而这些步骤是独立于对象类型的。

2403_82445975的博客 1390

了解23种设计模式之桥接模式

一,什么是桥接模式 Bridge 模式 又叫桥接模式,是构造型的设计模式之一。 Bridge 模式 基于 类的最小设计原则,通过封装,聚合以及继承等行为来让不同的类承担不同的责任, 它的主要特点是把抽象 与行为 实现 分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。 二,桥接模式的结构 桥接(Bridge) 模式包含以下主要角色 抽象化(Abstraction)角色:定义抽象类,并包含一个对实现化对象的引用。 扩展抽象化(Refined Abstraction)角色:是抽象化角色...

Crazy_Cw的博客 732

myBatis所有要用到的jar包

myBatis所有jar包,java,jar包sqljdbc,mybatis,mysql-connector,slf4j,commons-logging,cglib,ant,asm....

毕业设计:基于 yolov3 的口罩检测系统源码.zip

毕业设计:基于 yolov3 的口罩检测系统源码.zip

上一篇: VSCode添加自定义模板(不会偷懒的程序员不是好程序员)
uncle_Winter
博客等级 码龄7年 33粉丝 · 7原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值