设计模式初探(二)「Facade模式」

本文通过类比装修公司,形象地解释了Facade模式如何简化复杂系统的使用。它不仅降低了子系统间的耦合度,还使得调用者可以更简单地与系统交互。

在以前不懂设计模式的岁月中,我总是对着各种语言框架中的那个Facades模块不知所措。当对设计模式有了一定的了解以后,提升的不仅仅是自己写代码时的所思所想,对于框架的理解程度,和学习框架的速度也会上一个台阶。

Facade模式简介

Facade模式主要是为了解决开发中各个子系统之间的紧密耦合的问题。这里写图片描述
这是一个来自《设计模式的艺术》中的一幅图,很生动的展示了什么时候应该使用Facade模式。一图胜过千言万语。

类比生活中的例子,我觉得Facade模式就像装修公司,如果没有装修公司,我们需要自己找瓦工,电工,水暖工等各种工种,还要自己去建材市场买装修材料,经常装修一趟下来身心疲惫。当我们委托装修公司进行装修,装修公司将负责我们装修的一切事宜。我们完全不需要自己去做。

抽象Facade类

在使用Facade的时候我们不可避免的会部分替换Facade类中的某个子系统位另一个子系统。为了满足这种需求,我们需要抽象Facade类的概念。

Facade的好伙伴

Facade模式经常和单例模式一同出现。例如数据库链接池。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值