• 技术文章 >PHP >PHP教程

    php桥接模式的作用

    小妮浅浅小妮浅浅2021-07-02 14:26:18原创4186

    作用说明

    1、桥接模式分离抽象接口及其实现部分,实现解耦,比继承更好的解决方案。

    2、便于扩展,桥接模式比继承更灵活,在减少创建类的同时也便于组合。

    3、桥接模式可用于两个独立变化维度。

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    82

    83

    84

    85

    // 员工分组

      

      

    abstract class Staff

    {

        abstract public function staffData();

    }

      

    class CommonStaff extends Staff

    {

        public function staffData()

        {

            return "小名,小红,小黑";

        }

    }

      

    class VipStaff extends Staff

    {

        public function staffData()

        {

            return '小星、小龙';

        }

    }

      

      

      

      

      

    // 发送形式

      

    // 抽象父类

    abstract class SendType

    {

        abstract public function send($to, $content);

    }

      

    class QQSend extends SendType

    {

        public function __construct()

        {

            // 与QQ接口连接方式

        }

      

        public function send($to, $content)

        {

            return $content. '(To '. $to . ' From QQ)<br>';

        }

    }

      

      

      

      

    class SendInfo

    {

        protected $_level;

        protected $_method;

      

        public function __construct($level, $method)

        {

            //  这里可以使用单例控制资源的消耗

            $this->_level = $level;

            $this->_method = $method;

        }

      

        public function sending($content)

        {

            $staffArr = $this->_level->staffData();

            $result = $this->_method->send($staffArr, $content);

            echo $result;

        }

    }

      

      

      

    // 客户端调用

      

    $info = new SendInfo(new VipStaff(), new QQSend());

    $info->sending( '回家吃饭');

      

    $info = new SendInfo(new CommonStaff(), new QQSend());

    $info->sending( '继续上班');

    输出结果:

      

    回家吃饭(To 小星、小龙 From QQ)

    继续上班(To 小名,小红,小黑 From QQ)

    以上就是php桥接模式的作用,希望对大家有所帮助。更多php学习指路:php教程

    专题推荐:php桥接模式
    上一篇:php桥接模式是什么 下一篇:php安装grpc扩展的方法

    相关文章推荐

    • php static的三种使用方法• php $this是什么意思• php中$this的就近原则• php数组中array_column()函数的使用• php数组array_multisort()函数是什么• php empty()函数的用法• php按值传递和引用传递的比较• php命令模式如何理解• php常量中两种定义方式的比较• php中foreach的使用• php迭代器iterator的作用• php迭代器的工作原理分析• php聚合式迭代器是什么• php桥接模式是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网