代码改变世界

外观模式(Façade Pattern)

  Clingingboy  阅读(973)  评论(0编辑  收藏  举报

        这个模式非常的简单,可以说称不上模式

打个比方,我们大部分时候运行源代码程序需要做一下几件事情,其实就是做封装,简化操作

  1. 打开IDE
  2. 打开项目
  3. 编译
  4. 运行

来看下面例子

internal class SubsystemA {
   internal string A1() {
     return "Subsystem A, Method A1\n";
   }
     
   internal string A2() {
       return "Subsystem A, Method A2\n";
     }
 }
 
 internal class SubsystemB{
   internal string B1() {
     return "Subsystem B, Method B1\n";
   }
 }

我需要调用这三个类来完成一件事情,新建一个Facade类,Operation1方法简化了操作

public static class Facade {
   static SubsystemA a = new SubsystemA();
   static SubsystemB b = new SubsystemB();
   static SubsystemC c = new SubsystemC();
 
   public static void Operation1() {
     Console.WriteLine("Operation 1\n" +
     a.A1() +
     a.A2() +
     b.B1());
   }
 
   public static void Operation2() {
     Console.WriteLine("Operation 2\n" +
     b.B1() +
     c.C1());
   }
 }

 

新建一个类,调用这两个方法

  class Client {
   public void ClientMain () {
 
       Facade.Operation1();
       Facade.Operation2();
 
   }
 }

最终客户端的调用,只需要一步

static void Main() {
    new Client().ClientMain();
    Console.ReadKey();
 }
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2009-08-26 Spring.NET学习笔记(6)-基础AOP
点击右上角即可分享
微信分享提示