外观模式

1、个人理解:有时候我们要去访问很多类里面的方法会比较麻烦,就想,我可不可以只访问一次就可以访问到所有的类,这样就有了外观模式,他在类A中封装了一个方法对其它很多类B,C,D...中的方法进行访问,那么我们要访问B,C,D...类中的方法就只需要访问A中的一个方法就可以了。

2、定义:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

3、代码:

1)、子系统

复制代码
 1 class systemOne
 2 {
 3     public void systemOneMethod() {
 4         Console.WriteLine("系统一的方法!");
 5     }
 6 }
 7 class systemTwo
 8 {
 9     public void systemTwoMethod()
10     {
11         Console.WriteLine("系统二的方法!");
12     }
13 }
14 class systemThree
15 {
16     public void systemThreeMethod()
17     {
18         Console.WriteLine("系统三的方法!");
19     }
20  }
复制代码

2)外观类

复制代码
 1 class Facade
 2 { 
 3    //具有所有的子系统,并作为自己的属性
 4     systemOne one;
 5     systemTwo two;
 6     systemThree three;
 7 
 8     //在构造方法中初使用这些子系统
 9     public Facade()
10     {
11         one = new systemOne();
12         two = new systemTwo();
13         three = new systemThree();
14     }
15 
16     //具有一个对所有子系统进行操作的方法
17     public void MethodAll() {
18         one.systemOneMethod();
19         two.systemTwoMethod();
20         three.systemThreeMethod();
21     }
22 
23 }
复制代码

3)客户端代码

1  public static void Main() {
2         Facade f = new Facade();
3         f.MethodAll();
4     }

 

posted @   爱生活,爱代码  阅读(129)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示