首页 > 其他分享 >设计模式对比

设计模式对比

时间:2023-12-28 15:48:22浏览次数:36  
标签:桥接 适配器 模式 装饰 原始 设计模式 对比

 

代理、桥接、装饰器、适配器4种设计模式的区别

代理、桥接、装饰器、适配器,这4种模式是比较常用的结构型设计模式。它们的代码结构非常相似。笼统来说,它们都可以称为Wrapper模式,也就是通过Wrapper类二次封装原始类。

尽管代码结构相似,但这4种设计模式的用意完全不同,也就是说要解决的问题、应用场景不同,这也是它们的主要区别。这里我就简单说一下它们之间的区别。

- 代理模式:代理模式在不改变原始类接口的条件下,为原始类定义一个代理类,主要目的是控制访问,而非加强功能,这是它跟装饰器模式最大的不同。
- 桥接模式:桥接模式的目的是将接口部分和实现部分分离,从而让它们可以较为容易、也相对独立地加以改变。
- 装饰器模式:装饰者模式在不改变原始类接口的情况下,对原始类功能进行增强,并且支持多个装饰器的嵌套使用。
- 适配器模式:适配器模式是一种事后的补救策略。适配器提供跟原始类不同的接口,而代理模式、装饰器模式提供的都是跟原始类相同的接口。

标签:桥接,适配器,模式,装饰,原始,设计模式,对比
From: https://www.cnblogs.com/clarino/p/17932828.html

相关文章

  • CLIP 对比预训练 + 文字图像相似度:离奇调查,如何训练视觉大模型?
    CLIP:如何训练视觉大模型?对比预训练图像编码器文本编码器最大的亮点:zero-shot图像分类 CLIP论文地址:https://arxiv.org/pdf/2103.00020.pdfCLIP=对比学习+预训练+文字图像相似度。对比预训练传统方法训练视觉模型的方式通常是使用有监督学习方法,需要收集大量图像和对应标签......
  • .Net 几种常用设计模式【工厂、单例】
    抽象工厂模式//抽象产品publicinterfaceIProduct{voidOperation();}//具体产品ApublicclassProductA:IProduct{publicvoidOperation(){Console.WriteLine("ProductAOperation");}}//具体产品BpublicclassProductB:IPr......
  • 享元设计模式 和 享元设计模式在 FastDateFormat类中的应用
    1.概述享元设计模式(FlyweightPattern):通过尽量共享实例来避免new出实例。享元设计模式中有两个角色,一是要共享的实例,二是获取或创建这些共享实例的工厂。举一个例子:例如String常量池,大家创建的String常量,创建String的时候,先去常量池中看一下,有该String常量直接使用该常量,如果没......
  • GOF23--23种设计模式(三)
    一.桥接模式Java中的桥接模式(BridgePattern)是一种结构性设计模式,它将抽象部分和实现部分分离,使它们可以独立变化,同时通过桥接对象将它们连接起来。这种模式将抽象与其实现解耦,使得抽象和实现可以独立变化。抽象和它的实现通过一个桥接类进行连接,使得它们可以各自独立地变化。......
  • Composite 组合模式简介与 C# 示例【结构型3】【设计模式来了_8】
    Composite组合模式简介与C#示例【结构型3】【设计模式来了_8】 阅读目录〇、简介1、什么是组合设计模式?2、优缺点和适用场景一、简单的代码示例二、根据示例代码看结构三、相关模式回到顶部〇、简介1、什么是组合设计模式?一句话解释:  针对树形结构......
  • Facade 外观模式简介与 C# 示例【结构型5】【设计模式来了_10】
    Facade外观模式简介与C#示例【结构型5】【设计模式来了_10】 阅读目录〇、简介1、什么是外观模式?2、外观模式的优缺点和适用场景一、外观模式的代码实现二、结构三、相关模式回到顶部〇、简介1、什么是外观模式?一句话解释:  将一系列需要一起进行的......
  • Builder 生成器模式简介与 C# 示例【创建型2】【设计模式来了_2】
    Builder生成器模式简介与C#示例【创建型2】【设计模式来了_2】 阅读目录〇、简介1、什么是生成器模式?2、优缺点和使用场景一、简单的示例代码二、生成器模式结构三、在.Net框架中的实际应用四、相关模式回到顶部〇、简介1、什么是生成器模式?一句话......
  • Decorator 装饰者模式简介与 C# 示例【结构型4】【设计模式来了_9】
    Decorator装饰者模式简介与C#示例【结构型4】【设计模式来了_9】 阅读目录〇、简介1、什么是装饰者模式2、优缺点和适用场景一、通过示例代码简单实现二、装饰者模式的结构三、相关模式回到顶部〇、简介1、什么是装饰者模式一句话解释:  通过继承统......
  • 昂瑞微OM6621P/OM6621E对比蓝牙SOC芯片
    昂瑞微蓝牙OM6621系列对比选型指南OM6621EM和OM6621ED性能特点超低功耗蓝牙SOC精简BLE5.1协议栈主频64Mhz,40KBRAM集成红外线收发电路主要应用在语音遥控、鼠标、水表等功能特点功耗1秒连接平均电流:11uA峰值电流:TX@0dBm:49mA,RX@1Mbps:4.9mA外设......
  • Java 工厂方法设计模式
    需求:Pizza有以下几个方法prepare()准备食材bake()烘焙cut()切割box()装盒现在有2种披萨且和2地区有关,成都地区第一种是CDApplePizza,第二种是CDCheesePizza。北京地区的BJApplePizza和BJApplePizza。PizzaStore有点单系统Order(city,pizzaType)根据pizzatype去制作对......