• 设计模式-外观模式


    一:外观模式 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();
  • 相关阅读:
    MYSQL把一张表的数据批量复制到另外一张表
    06:rpm 和 yum 执行卡住,解决方法
    su: cannot set user id: Resource temporarily unavailable 解决方法
    queue队列
    threading 两种调用方法
    paramiko 模块 linux
    socketserver 模块实现ftp功能
    socket实现简单的文件下载传输功能
    mysql使用update代替delete做伪删除
    mysql客户端命令mysqladmin介绍
  • 原文地址:https://www.cnblogs.com/jiujuan/p/10296285.html
Copyright © 2020-2023  润新知