在以前不懂设计模式的岁月中,我总是对着各种语言框架中的那个Facades
模块不知所措。当对设计模式有了一定的了解以后,提升的不仅仅是自己写代码时的所思所想,对于框架的理解程度,和学习框架的速度也会上一个台阶。
Facade模式主要是为了解决开发中各个子系统之间的紧密耦合的问题。 这是一个来自《设计模式的艺术》中的一幅图,很生动的展示了什么时候应该使用Facade模式。一图胜过千言万语。
类比生活中的例子,我觉得Facade模式就像装修公司,如果没有装修公司,我们需要自己找瓦工,电工,水暖工等各种工种,还要自己去建材市场买装修材料,经常装修一趟下来身心疲惫。当我们委托装修公司进行装修,装修公司将负责我们装修的一切事宜。我们完全不需要自己去做。
在使用Facade的时候我们不可避免的会部分替换Facade类中的某个子系统位另一个子系统。为了满足这种需求,我们需要抽象Facade类的概念。
Facade模式经常和单例模式一同出现。例如数据库链接池。
新闻热点
疑难解答