zoukankan      html  css  js  c++  java
  • 设计模式(八)--桥接模式

    桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。

    意图:将抽象部分与实现部分分离,使它们都可以独立的变化。

    主要解决:在有多种可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活。

    abstract class info{
        public $sendMethod;
        abstract public function msg();
        public function __construct($sendMethod){
            $this->sendMethod=$sendMethod;
        }
        public function send($to, $content){
            $this->sendMethod->send($to, $content);
            $this->msg();
        }
    }
    class message{
        public function send($to, $content){
            echo $to.'-使用站内发送-'.$content;
        }
    }
    class phone{
        public function send($to, $content){
            echo $to.'-使用手机发送-'.$content;
        }
    }
    class email{
        public function send($to, $content){
            echo $to.'-使用邮箱发送-'.$content;
        }
    }
    
    class slows extends info{
        public function msg(){
            echo '-慢消息';
        }
    }
    class commons extends info{
        public function msg(){
            echo '-普通消息';
        }
    }
    class fasts extends info{
        public function msg(){
            echo '-快消息';
        }
    }
    
    $obj=new fasts(new phone());
    $obj->send("小名","回家吃饭");

    参考:http://video.1kejian.com/video/?79018-0-15.html

  • 相关阅读:
    spring boot 与 spring cloud 版本映射
    Java锁
    并发编程(二)
    并发工具类和线程池
    并发编程
    Map双列集合(二)
    Map双列集合(一)
    单列集合List
    类加载
    JVM字节码与代码优化
  • 原文地址:https://www.cnblogs.com/Caoxt/p/10154816.html
Copyright © 2011-2022 走看看