设计模式的理解 : 门面模式、外观模式 (Facade)

门面模式又称外观模式:主要思想就是用一个提供些专门进行对外访问的接口,避免外部程序直接调用内部方法,对内部方法进行有效的屏蔽。

以医院为例 : (转自 菜鸟教程)

一个医院的系统功能有多种,如果让病人直接访问这些功能就会显得杂乱无章,不易管理。其次,如果医院系统的功能发生变动,有可能病人的访问行为也要跟着改变。

 

而门面模式就相当于医院的接待员。病人只需要访问接待员了解自己想要的功能就行,不需要知道医院内部功能具体需要访问哪一个类。类似与三层架构里的BLL业务层 2、充当着DAL(Data Access Layer,数据访问层)和UI(User Interface)表示层的连接桥梁。

类似的门面模式:

class ModuleA{public:void call(string id);private:void test1();void test2();
}class ModuleB{public:bool put();private:void test1();void test2();
}class Facade{ModuleB moduleB;ModuleA moduleA;public:void callModuleA(string id){return moduleA.call(id);}void putModuleB(string content){.....bool flag = moduleB.put();.....   }
}

用户只需要直接使用Facade类就可以间接的使用其他类的功能。

 

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部