• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
gooliugle
博客园    首页    新随笔    联系   管理    订阅  订阅
大话设计模式读书笔记10----外观模式(Facade)

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

1、在设计初级阶段,应该要有意识的将不同的两个层分离。

2、层与层之间建立外观Facade,为复杂的子系统提供一个简单的接口,使得耦合大大降低。

3、在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂。

4、增加 Facade可以提供一个简单的接口,减少他们之间的依赖。

Facade代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 
 5 namespace Facade
 6 {
 7     class Program
 8     {
 9         static void Main(string[] args)
10         {
11             Facade facade = new Facade();
12             facade.MethodA();          //由于Facade的作用,客户端可以根本不知道SubSystemOne,SubSystemTwo等。
13             Console.ReadLine();
14         }
15     }
16     class Facade
17     {
18         SubSystemOne one;
19         SubSystemTwo two;
20         SubSystemThree three;
21         public Facade()
22         {
23             one = new SubSystemOne();
24             two = new SubSystemTwo();
25             three = new SubSystemThree();
26         }
27         public void MethodA()
28         {
29             Console.WriteLine("方法组A()----");
30             one.MethodOne();
31             two.MethodTwo();
32             three.MethodThree();
33         }
34     }
35     class SubSystemOne
36     {
37         public void MethodOne()
38         {
39             Console.WriteLine("子系统方法一");
40         }
41     }
42     class SubSystemTwo
43     {
44         public void MethodTwo()
45         {
46             Console.WriteLine("子系统方法二");
47         }
48     }
49     class SubSystemThree
50     {
51         public void MethodThree()
52         {
53             Console.WriteLine("子系统方法三");
54         }
55     }
56 }


 

posted on 2010-04-25 22:40  gooliugle  阅读(324)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3