PHP设计模式-外观 发表于 2017-03-22 | 分类于 PHP | 评论数: | 阅读次数: 本文字数: 1.4k | 阅读时长 ≈ 1 分钟 适用性 把系统中类的调用委托给一个单独的类,对外隐藏了内部的复杂性,很有依赖注入容器的感觉哦 代码示例 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101/** * 动物接口 */interface AnimalInterface{ /** * 生产方法 * * @return string */ public function produce();}/** * 实体鸡工厂 */class Chicken implements AnimalInterface{ /** * 生产鸡 * * @return string */ public function produce() { echo "生产了一只鸡~ \n"; }}/** * 实体猪工厂 */class Pig implements AnimalInterface{ /** * 生产猪 * * @return string */ public function produce() { echo "生产了一只猪~ \n"; }}/** * 外观类 */class AnimalMaker{ /** * 鸡实工厂例 * @var object */ private $_chicken; /** * 猪实工厂例 * @var object */ private $_pig; /** * 构造函数 * * @return void */ public function __construct() { $this->_chicken = new Chicken(); $this->_pig = new Pig(); } /** * 生产方法 * * 生产鸡 * @return string */ public function produceChicken() { $this->_chicken->produce(); } /** * 生产方法 * * 生产猪 * @return string */ public function producePig() { $this->_pig->produce(); }}// 初始化外观类$animalMaker = new AnimalMaker();// 生产一只猪$animalMaker->producePig();// 生产一只鸡$animalMaker->produceChicken();