欢迎来到天天文库
浏览记录
ID:12548167
大小:68.00 KB
页数:3页
时间:2018-07-17
《[23种设计模式汇总]结构型模式_外观模式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、外观模式(FacadePattern)外观模式(FacadePattern)可以将一系列复杂的类包装成一个简单的封闭接口。也称门面模式.Facade模式的意图是:为了子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用先上图可以看的出来,我们客户端调用子系统方法,并不是直接调用,而是中间有个高层次的统一接口Entityclient调用只是跟Entity这个类打交道,别的don'tcareclassClient{//门面/外观模式facade[fə'sɑ:d]之C#/*应用场景*为子系统中的接口提供
2、一个一致的调用方法,一般在项目的前期不用,后期解耦时候考虑用*开发阶段,会产生很多小的类,为了减少类之间的耦合,可以用facade模式定义一个统一的接口*在对老系统进行维护和升级的时候,可能要调用以前的方法,同时不对这些方法进行修改,可以考虑定义一个更高层次的接口,调用遗留的老方法,新系统不直接调用原来的方法,而是通过访问这个更高层次的接口调用以前的方法*/staticvoidMain(string[]args){Entityentity=newEntity();entity.Activity();entity.Rest();Console.Read(
3、);}}//吃喝classEat{publicvoidAction(){Console.WriteLine("Eat");}}//玩乐classPlay{publicvoidAction(){Console.WriteLine("Play");}}//休息,睡觉classSleep{publicvoidRest(){Console.WriteLine("Sleep");}}classEntity{Eateat;Playplay;Sleepsleep;publicEntity()//构造函数{eat=newEat();play=newPlay();sle
4、ep=newSleep();}publicvoidActivity()//吃喝玩乐{eat.Action();play.Action();}publicvoidRest()//休息{sleep.Rest();}}AbstractFactory模式可以与Facade模式一起使用以提供一个接口,这一接口可用来以一种子系统独立的方式创建子系统对象。AbatractFactory模式也可以代替Facade模式隐藏那些与平台相关的类Mediator模式与Facade模式的相似之处是,它抽象了一些已有的类的功能
此文档下载收益归作者所有