外观模式 Facade
Posted 罗夏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了外观模式 Facade相关的知识,希望对你有一定的参考价值。
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用.
什么时候使用:
1,开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。
2,维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。
3,外观模式可以隐藏来自调用对象的复杂性。
UML:
示例代码:
class A { public function song($songList) { foreach($songList as $val) { echo $val . \'.mp3\'; } } } class B { public function song($songList) { foreach($songList as $val) { echo $val . \'.wav\'; } } } class Facade { private $a; private $b; public function create() { $this->a = new A(); $this->B = new B(); } public function method($songList) { $this->a->song($songList); $this->b->song($songList); } }
以上是关于外观模式 Facade的主要内容,如果未能解决你的问题,请参考以下文章