zoukankan      html  css  js  c++  java
  • 设计模式-外观模式

    一:外观模式 Facade Pattern:
    外部与一个子系统进行通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观
    模式定义了一个高层接口,这个接口使得这一接口更加容易使用。
    它又称为门面模式,是一种对象结构型模式。

    二:外观模式角色
    1:Facade: 外观角色
    2:SubSystem:子系统角色

    三:外观模式结果图

    来自 《大话设计模式》

    四:实例

    <?php
    class SubSystemOne
    {
        public function MethodOne() {
            echo " 子系统方法一 ";
        }
    
    }
    
    class SubSystemTwo
    {
        public function MethodTwo() {
            echo " 子系统方法二 ";
        }
    }
    
    class SubSystemThree
    {
        public function MethodThree() {
            echo " 子系统方法三 ";
        }
    }
    
    class SubSystemFour
    {
        public function MethodFour() {
            echo " 子系统方法四 ";
        }
    }
    
    class Facade
    {
        public $subSystemOne;
        public $subSystemTwo;
        public $subSystemThree;
        public $subSystemFour;
    
        public function __construct() {
            $this->subSystemOne = new SubSystemOne();
            $this->subSystemTwo = new SubSystemTwo();
            $this->subSystemThree = new SubSystemThree();
            $this->subSystemFour = new SubSystemFour();
        }
    
        public function MethodA() {
            echo "
     方法组 A() ----- 
    ";
    
            $this->subSystemOne->MethodOne();
            $this->subSystemTwo->MethodTwo();
            $this->subSystemFour->MethodFour();
        }
    
        public function MethodB() {
             echo "
     方法组 B() ----- 
    ";
    
            $this->subSystemTwo->MethodTwo();
            $this->subSystemThree->MethodThree();
        }
    }
    
    $facade = new Facade();
    $facade->MethodA();
    
    $facade->MethodB();
  • 相关阅读:
    选项卡自动切换(定时器demo)
    JS基础——选项卡套选项卡(函数传参)
    JS基础——修改文本框的值(函数传参)
    JS基础——选项卡列表显示隐藏缩略图(函数传参)
    js基础——图片切换实例(函数传参)
    JS 获取元素的属性值,非内联样式
    css position 定位
    ie6-7 overflow:hidden失效问题的解决方法
    Vue自带的过滤器
    Vue数据绑定
  • 原文地址:https://www.cnblogs.com/jiujuan/p/10296285.html
Copyright © 2011-2022 走看看