美文网首页
PHP设计模式-外观

PHP设计模式-外观

作者: 木有sky | 来源:发表于2019-02-17 10:08 被阅读0次

    适用性

    把系统中类的调用委托给一个单独的类,对外隐藏了内部的复杂性,很有依赖注入容器的感觉哦

    代码示例

    /**

    * 动物接口

    */

    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();

    相关文章

      网友评论

          本文标题:PHP设计模式-外观

          本文链接:https://www.haomeiwen.com/subject/ayrieqtx.html