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();
  • 相关阅读:
    html基础知识点
    uni-app之tabBar的自己配置
    uni-app之导航配置pages.json
    js获取链接?后边的参数名称或者值
    验证码输入自动聚焦下一个input或者删除自动聚焦上一个input
    VUE中/deep/深度作用域
    vue环境下新建项目
    vue中展示数据
    VUE环境项目搭建以及简单的运行例子
    ios设置音乐audio自动播放
  • 原文地址:https://www.cnblogs.com/jiujuan/p/10296285.html
Copyright © 2011-2022 走看看