zoukankan      html  css  js  c++  java
  • PHP设计模式——桥接模式

    <?php
    
    /*
     * 桥接模式
     * 使用发送器,将一个类对象传入另一个类作为属性,耦合M+N个类
     * 
     */
    
    abstract class Info {
    
        protected $_send = NULL;
    
        public function __construct($send) {
            $this->_send = $send;
        }
    
        abstract function msg($content);
    
        public function send($to, $content) {
            $content = $this->msg($content);
            $this->_send->send($to, $content);
        }
    
    }
    
    class Email {
    
        public function send($to, $content) {
            echo "Email: From:$to Content:$content<br>";
        }
    
    }
    class Sms {
    
        public function send($to, $content) {
            echo "Sms: From:$to Content:$content<br>";
        }
    
    }
    
    class CommonBridge extends Info{
        public function msg($content) {
            return 'CommonBridge>>'.$content;
        }
    }
    class DangerBridge extends Info{
        public function msg($content) {
            return 'DangerBridge>>'.$content;
        }
    }
    //调用桥接
    $email = new Email();
    $CommonEmail  = new CommonBridge($email);
    $CommonEmail->send('Tom','XXXXX');
    
    $DangerSms  = new DangerBridge(new Sms());
    $DangerSms->send('Lucy','OOOOOOO');
  • 相关阅读:
    POJ_2387_最短路
    HDU_3172_带权并查集
    Python_多线程1(创建线程,简单线程同步)
    POJ_3013_最短路
    codeforces_725C_字符串
    python_文件io
    codeforces_731D_(前缀和)(树状数组)
    codeforces_738D
    java反射机制
    struts2入门
  • 原文地址:https://www.cnblogs.com/tlxma/p/5210719.html
Copyright © 2011-2022 走看看