当前位置: 首页 > news >正文

设计模式-外观模式、适配器模式

外观模式

Facade(外观或门面)—对象结构型模式定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。提供一个高层次的接口,使得子系统更易于使用。

Fracade 为 ComponentA 、ComponentB 、ComponentC 向外( ClientA 、ClientB) 提供统一的接口

代码示例

class ComputerFacade {private CPU cpu;private Memory memory;private Disk disk;public void start() {cpu.initialize();memory.load();disk.read();}
}

外观类协调多个底层组件,提供业务导向的接口。

设计原则:

• 遵循迪米特法则(最少知识原则)

• 不符合开闭原则

适用场景分析:

1. 当一个复杂系统的子系统很多时,外观模式可以为系统设计一个简单的接口供外界访问。

适配器模式

Adapter(适配器)—类对象结构型模式定义:将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

AdapterA 先将 LibraryClass 封装起来,其对外提供的 operation() 方法中调用 LibraryClass 对象的method()方法,若以后换类库,只需改 AdapterA 类或者创建新的 Adapter 实现类即可。

设计原则:

• 遵循开闭原则

使用场景:

1.比如系统扩展了,需要使用一个已有或新建立的类,但这个类又不符合系统的接口,怎么办?使用适配器模式。

2.编码解码、一拖三充电头、HDMI转VGA、Type-C转USB。

这里复习区分下装饰器模式和适配器模式:

适配器模式:适配新的接口,所以要实现和被适配对象是两个不同的接口。

装饰器模式:装饰原有的接口,所以要实现和被装饰对象相同的接口。

http://www.lryc.cn/news/576811.html

相关文章:

  • 【数据挖掘】聚类算法学习—K-Means
  • YOLOv12_ultralytics-8.3.145_2025_5_27部分代码阅读笔记-conv.py
  • 设备预测性维护和异常检测系统设计方案
  • 【HuggingFace】模型下载至本地访问
  • Git安装全攻略:避坑指南与最佳实践
  • C++ 格式化输入输出
  • 人工智能时代的职业替代风险与应对策略分析
  • MySQL技巧
  • 性能分析专栏 -- top命令
  • 【修电脑的小记录】连不上网
  • 打造地基: App拉起基础小程序容器
  • 疏通经脉: Bridge 联通逻辑层和渲染层
  • 深入理解 Dubbo 负载均衡:原理、源码与实践
  • RK3588集群服务器性能优化案例:电网巡检集群、云手机集群、工业质检集群
  • [Python 基础课程]PyCharm 的安装
  • 大数据Hadoop之——Flume安装与使用(详细)
  • Dify私有化知识库搭建并通过ChatFlow智能机器人使用知识库的详细操作步骤
  • AlpineLinux安装部署MariaDB
  • 怎样优化HDFS的网络传输
  • WireShark网络取证分析第一集到第五集和dvwa靶场环境分析漏洞
  • TCP/IP模型、OSI模型与C# Socket编程详解
  • xcode-XCTest
  • 领域驱动设计(DDD)【28】之实践或推广DDD的学习
  • leetcode437-路径总和III
  • 什么是RAG检索生成增强?
  • #Redis分布式缓存# ——1.Redis持久化
  • 零基础学习RabbitMQ(5)--工作模式(1)
  • 非常有科技感的wpf GroupBox 控件
  • C/C++数据结构之动态数组
  • 介绍Windows下的由Sysinternals开发的一些小工具