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

【C#设计模式(11)——外观模式(Facade Pattern)】

前言

外观模式隐藏了子系统的复杂性,简化了客户端与子系统之间的交互。

代码

 public class Facade
 {
     private CommunicationModel communicationModel;
     private AcquisitionModel acquisitionModel;
     private ToolModel toolModel;

     public Facade()
     {
         communicationModel = new CommunicationModel();
         acquisitionModel = new AcquisitionModel();
         toolModel = new ToolModel();
     }

     public void Load()
     {
         communicationModel.Load();
         acquisitionModel.Load();
         toolModel.Load();
     }
 }

 // 通讯模块
 public class CommunicationModel
 {
     public void Load()
     {
         Console.WriteLine("Load communication model...");
     }
 }
 // 采集模块
 public class AcquisitionModel
 {
     public void Load()
     {
         Console.WriteLine("Load acquisition model...");
     }
 }

 //工具模块
 public class ToolModel
 {
     public void Load()
     {
         Console.WriteLine("Load tool model...");
     }
 }
 /*
  * 结构型模式:Structural Pattern
  * 外观模式:Facade Pattern
  */
 internal class Program
 {
     static void Main(string[] args)
     {
         Facade facade = new Facade();
         facade.Load();

         Console.ReadLine();
     }
 }

运行结果

在这里插入图片描述


http://www.kler.cn/a/400677.html

相关文章:

  • Vue实现响应式导航菜单:桌面端导航栏 + 移动端抽屉式菜单
  • Linux :进程间通信之管道
  • RabbitMQ-死信队列(golang)
  • Linux最深刻理解页表于物理内存
  • 前端隐藏元素的方式有哪些?HTML 和 CSS 中隐藏元素的多种方法
  • FastGPT部署通义千问Qwen和智谱glm模型|OneAPI配置免费的第三方API
  • 大数据治理:构建数据价值链的关键环节
  • 安全见闻6-9
  • 机器学习day5-随机森林和线性代数1最小二乘法
  • SQL复杂数据类型处理
  • 解决虚拟机未被自动分配ip
  • 康威定律和数据中心网络
  • 【Python项目】基于深度学习的音乐推荐方法研究系统
  • transformers 操作篇
  • OpenHarmony-2.DeviceInfo适配
  • Docker compose部署elasticsearch(单机版)
  • 问题定位学习
  • 01-如何引导AI来帮助我们完善项目
  • Docker-01
  • Linux_shell脚本if语句详细教程
  • QT中的字符器类型
  • 基于springboot的景区网页设计与实现
  • 生成式人工智能(AIGC)在软件开发设计模式课程教学中的应用
  • Vue练习案例(中)
  • VUE 实现公告无缝循环滚动
  • 供应链管理、一件代发系统功能及源码分享 PHP+Mysql