设计模式之外观模式(C++)

1. 作用

外观模式我认为是设计模式中最简单的一种模式了。我相信任何程序员无形中都使用过此模式。不信就看下去。
意图:为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一个系统更加容易使用。
说白了,其实就是对一系列接口的封装。

2. UML类图


设计模式之外观模式(C++)_第1张图片

参与者:

  • Facade:提供封装子系统的接口。
  • Subsysytem classes:待封装的子系统。

3. 实现

举例:一个夕阳的下午,泡一杯茶,打开一本自己感兴趣的书,开始尽情的享受此刻休闲。感觉这是非常美好的时光,当然泡茶的步骤还是挺多的,要是有一键泡茶就爽了!
现实中没有,但代码中可以存在。


设计模式之外观模式(C++)_第2张图片

4. 优缺点

  • 优点:
    减少系统的相互依赖,不用面对众多的类
    挺高了灵活性,子系统中可以随意变动,反正接口不变
    提高安全性,封装了子类的业务逻辑
  • 缺点:
    在不引入抽象外观类的情况下,增加新的子系统可能需要修改 Facade 或 Client 的源代码,违背了“开闭原则”。

5. 适用场景

为一个复杂的模式或子系统提供一个供外界访问的接口。
想把某个子系统进行独立。

6. 总结

封装子系统,集成大量类方法,这就是外观模式。

你可能感兴趣的:(设计模式,设计模式(C++))