zoukankan      html  css  js  c++  java
  • 桥接模式二(Bridge)

         昨天写到了桥接模式的代码实现,今天我们就继续来讲完桥接模式。
          有认真看的会发现,昨天的代码实现只是两个维度的变化;哪么有人可能就会问了哪如果我要加多一个维度呢?我要具体到企业的哪个部门,哪我们应该怎么加呢?下面我就给大家看看代码是怎么实现的。
          要想实现加入部门这个维度只要添加以下代码:
          

    abstract class department
    {
        workyya Wyy;
        public workyya wyy
        {
            get
            {
                return Wyy;
            }
            set
            {
                Wyy = value;
            }
        }
     
        public abstract void departmentwyy();
    }
     
    class information : department
    {
        public override void departmentwyy()
        {
            Console.WriteLine("信息部");
            wyy.work();
        }
    }

    客户端调用:

    static void Main(string[] args)
     {
          
     
         workyya yya = new workcar();
         yya.Full = new xiaomin();
     
         department dep = new information();
         dep.wyy = yya;
         dep.departmentwyy();
         Console.Read();
     }

      好了,看到这两段代码大家应该知道桥接模式应该怎么去实现了。
           到这里我们回过头来考虑传统的做法,我们只使用类的继承这一方式来实现以上的例子。你会发现如果用传统的作法会产生很多子类,扩展性差,可维护差;而且耦合度很高(不了解继承的可以自己去找找资料,搞懂类的继承是怎么一回事,对你会有很大的帮忙)。
           而使用桥接模式的话,从结构类中我们就可以看出桥接的耦合度低,每个对象之间各不影响,都有自己独立的变化。
           至于桥接模式的适应用性,优缺点有兴趣的可以自行了解(毕竟每个人的理解都有所不同,只有自己用心去理解出来的才是最好的、印象也才最ips)

    语言组织不太好,请多多包含。。。

    另:此文章本人已在ibc编程社区写过要想看原文请到http://www.ibcibc.com/forum.php?mod=viewthread&tid=4596

    原文里有源代码

  • 相关阅读:
    MongoDB的特殊操作
    MongoDB的$作为下标的用法
    MongoDB之$关键字,以及$修饰器$set,$inc,$push,$pull,$pop
    MongoDB的数据类型
    MongoDB的增删改查
    Drozer快速使用指南
    [安全分析报告]使用某科技公司客服系统的风险分析
    某客服系统上传漏洞导致服务器被拿下(续)
    YS端对端之间SSL通信安全问题
    某客服系统上传漏洞导致服务器被拿下
  • 原文地址:https://www.cnblogs.com/ljhboke/p/6370689.html
Copyright © 2011-2022 走看看