Net设计模式实例之外观模式(Façade Pattern)(1)
一、外观模式简介(Brief Intro<?XML:NAMESPACE PREFIX = ST2 />duction)
二、解决的问题(What To Solve)
1、分离不同的两个层
2、减少依赖
3、为新旧系统交互提供接口
三、外观模式分析(Analysis)
1、外观模式结构
![](/assets/blank.gif)
2、源代码
1、子系统类SubSystemOne
|
public class SubSystemOne
{
public void MethodOne()
{
Console.WriteLine("执行子系统One中的方法One");
}
}
|
2、子系统类SubSystemTwo
|
public class SubSystemTwo
{
public void MethodTwo()
{
Console.WriteLine("执行子系统Two中的方法Two");
}
}
|
3、子系统类SubSystemThree
|
public class SubSystemThree
{
public void MethodThree()
{
Console.WriteLine("执行子系统Three中的方法Three");
}
}
|
4、Facade 外观类,为子系统类集合提供更高层次的接口和一致的界面
|
public class Facade
{
SubSystemOne one;
SubSystemTwo two;
SubSystemThree three;
public Facade()
{
one = new SubSystemOne();
two = new SubSystemTwo();
three = new SubSystemThree();
}
public void MethodA()
{
Console.WriteLine("开始执行外观模式中的方法A");
one.MethodOne();
two.MethodTwo();
Console.WriteLine("外观模式中的方法A执行结束");
Console.WriteLine("---------------------------");
}
public void MethodB()
{
Console.WriteLine("开始执行外观模式中的方法B");
two.MethodTwo();
three.MethodThree();
Console.WriteLine("外观模式中的方法B执行结束");
}
}
|
5、客户端代码
|
static void <?XML:NAMESPACE PREFIX = ST1 />Main(string[] args)
{
Facade facade = new Facade();
facade.MethodA();
facade.MethodB();
Console.Read();
}
|
3、程序运行结果
![](/assets/blank.gif)
Net设计模式实例之外观模式(Façade Pattern)(1)相关推荐
- Net设计模式实例之桥接模式( Bridge Pattern)(4)
3.客户端代码<?XML:NAMESPACE PREFIX = O /> static void <?XML:NAMESPACE PREFIX = ST2 />Main(str ...
- Net设计模式实例之备忘录模式(Memento Pattern)
一.备忘录模式简介(Brief Introduction) 备忘录模式(Memento Pattern),在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可以就该对 ...
- Net设计模式实例之建造者模式(Builder Pattern)(2)
四.案例分析(Example) 1.场景 假设房子只有房顶和墙(Roof And Walls)<?XML:NAMESPACE PREFIX = O /> Jane和 Joe两个客户需要从建 ...
- Net设计模式实例之桥接模式( Bridge Pattern)(2)
四.桥接模式实例分析(Example) 1.场景 业务对象(BusinessObject)与数据对象(DataObject)分离,即业务对象CustormerBase与数据对象DataObject分离 ...
- 如何让孩子爱上设计模式 ——11.外观模式(Facade Pattern)
如何让孩子爱上设计模式 --11.外观模式(Facade Pattern) 标签: 设计模式初涉 场景引入 相信各位玩过LOL英雄联盟游戏的童鞋,对下面两个英雄都不会陌生吧: 分别是瑞雯和 ...
- 设计模式 -结构型模式_门面模式(外观模式) Facade Pattern 在开源软件中的应用
文章目录 Pre 定义 案例 Demo V1.0 Boss直接管理 V2.0 引入外观类 PmManagerFacade 何时使用Facade Tomcat Mybatis Pre 我们先来回顾下门面 ...
- 使用C#实现适配器模式 (Adapter Pattern) 和外观模式 (Facade Pattern)
本文的概念内容来自深入浅出设计模式一书 现实世界中的适配器(模式) 我带着一个国标插头的笔记本电脑, 来到欧洲, 想插入到欧洲标准的墙壁插座里面, 就需要用中间这个电源适配器. 面向对象的适配器 你有 ...
- 【白话设计模式二】外观模式(Facade)
为什么80%的码农都做不了架构师?>>> #0 系列目录# 白话设计模式 工厂模式 单例模式 [白话设计模式一]简单工厂模式(Simple Factory) [白话设计模式二] ...
- c++外观模式façade
c++外观模式façade 概念 角色和职责 案例 概念 Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种.Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个 ...
最新文章
- SQL server 2000/2005 智能感应插件(菜鸟新手的帮手)
- Atitit.异步编程 java .net php python js 对照
- 登录界面设计及功能实现
- VTK:图像方向用法实战
- python中的max_row_Openpyxl max_row和max_column错误地报告了一个较大的figu
- android 瀑布流
- 花书+吴恩达深度学习(二二)自编码器(欠完备,DAE,CAE,PSD)
- java map 对象作为key_Java 将自定义的对象作为HashMap的key
- 做高频通用还是低频专业
- CSS:实现闪烁效果动画
- 清华大学软件工程课程总结
- 怎么把计算机加入网络打印机共享打印机共享,打印机共享怎么设置
- 如何测试工业以太网线缆(利用FLUKE DSX-8000)?
- 空间中异面直线距离的计算
- [Python] python + selenium 抓取 京东商品数据(商品名称,售价,店铺,分类,订单信息,好评率,评论等)
- 在网上买中国工商银行基金
- stm32 pwm频率与周期计算
- CSDN社区电子杂志项目(CSDN eMag)所有期刊总索引
- Ubuntu搭建zhenxunbot聊天机器人
- 基于Airtest陀螺世界辅助源代码
热门文章
- python xml etree_使用Python etree更新XML元素和属性值
- 神威计算机主板型号,十代酷睿高端型Z490主板曝光 总线规格依旧是PCIe 3.0且USB接口并不支持USB 3.2...
- sudo chown -R $(whoami) /usr/local/lib/pkgconfig
- inline函数的好处与缺点
- Numpy的使用(4)
- 图书馆用文本文件booklist.txt记录图书的书目,其中包括book1,book2,.....,book10.现在又要采购一批新书,编写程序将新的书目添加到目录中。
- Pytorch基础(一) 初始tensor
- 连接显示器与计算机主机的接口电路是,液晶显示器VGA模拟输入接口电路
- resnet预训练模型_干货 | NLP中的十个预训练模型
- 软中断网卡处理Linux高性能外部设备处理机制SMP