zoukankan      html  css  js  c++  java
  • php设计模式课程---9、桥接模式是什么

    php设计模式课程---9、桥接模式是什么

    一、总结

    一句话总结:

    一个类没干完,另外一个类接着给它干完
    实质是类的拼接,也就是用类的组合代替了类的继承,因为类的组合可以有很多种方式,所以桥接就是类的组合

    email类没做完的warn类接着做

    sms类没做完的dang类接着做

    52 echo $warn->send($email->send('lisi' , '考试了')) , "<br>";
    53 echo $dang->send($sms->send('lisi' , '挂科了')) , "<br>";

    1、桥接模式实例?

    班上的同学按年龄分成了5个类,按照地区分成了8个类,如果继承来做就有5*8=40个类,但是如果桥接的话就只有5+8=13个类。就是年龄类没有做完的交给地区类来做

    2、设计模式总纲?

    a、变化的部分给它封装成类
    b、如果类太多了就把相同的部分抽象出来,解析开,防止类过多

    3、解决类爆炸(不同维度分类后组合在一起情况超级多)可以有哪些方法?

    策略模式可以(写好的类组合,(sms,email,站内)一个类,(普通,警告,危险)一个类)
    装饰器模式也可以

    二、桥接模式是什么

    1、代码

     1 <?php 
     2 class Msg {
     3     public function send($to , $cont) {
     4 
     5     }
     6 }
     7 
     8 
     9 class Zhan extends Msg {
    10     public function send($to , $cont) {
    11         return  $cont . '站内发给' . $to;
    12     }
    13 }
    14 
    15 class Email extends Msg {
    16     public function send($to , $cont) {
    17         return  $cont . 'Email发给' . $to;
    18     }
    19 }
    20 
    21 class Sms extends Msg {
    22     public function send($to , $cont) {
    23         return  $cont . '短信发给' . $to;
    24     }
    25 }
    26 
    27 
    28 class Common  {
    29     public function send($cont) {
    30         return  '慢速:' . $cont;
    31     }
    32 
    33 }
    34 class Warning {
    35     public function send($cont) {
    36         return  '中速:' . $cont;
    37     }
    38 
    39 }
    40 
    41 class Danger {
    42     public function send($cont) {
    43         return  '急速:' . $cont;
    44     }
    45 }
    46 
    47 
    48 $email = new Email();
    49 $sms = new SMS();
    50 $warn = new Warning();
    51 $dang = new Danger();
    52 echo $warn->send($email->send('lisi' , '考试了')) , "<br>";
    53 echo $dang->send($sms->send('lisi' , '挂科了')) , "<br>";
    54 
    55 
    56 ?>

    解决类爆炸(不同维度分类后组合在一起情况超级多)可以有哪些方法?

    策略模式可以(写好的类组合,(sms,email,站内)一个类,(普通,警告,危险)一个类)
    装饰器模式也可以

     
  • 相关阅读:
    java语言基础--标识符、关键字
    #考研碎碎念#3
    #考研笔记#计算机之word问题
    #考研#计算机文化知识1(局域网及网络互联)
    #学习笔记#jsp
    #学习笔记#JSP数据交互
    考研随笔2
    考研随笔1
    几个人
    全局变量
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9584492.html
Copyright © 2011-2022 走看看