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

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

原文里有源代码

最新文章

  1. QQ在线客服设置
  2. 使用SQL生成DateTime.Ticks
  3. 腾讯优测-优社区干货精选 |  那些年,我们在Android机型适配上遇到的坑之Camera拍照时快门咔嚓声
  4. MyEclipse------executeBatch()使用方法
  5. uvalive 4992 Jungle Outpost
  6. 行内元素有哪些?块级元素有哪些?CSS的盒模型?转载
  7. Asp.Net MVC 3
  8. [置顶] 安卓UI组件之ListView详解
  9. memcached可视化客户端工具
  10. 锤子坚果pro突破京东10万好评,还有什么是锤子科技做不出...
  11. 学习总结---BGP协议
  12. java学习之匿名内部类
  13. UML之涉众/参与者(角色/执行者)(Actor)/业务主角(BusinessActor)/业务工人(BusinessWorker)/用户/角色辨析【图解】
  14. windows 安装python pip Could not install packages due to anEnvironmentError: [WinError 5] 拒绝访问
  15. 王之泰201771010131《面向对象程序设计(java)》第六周学习总结
  16. 64位Redhat系统应用(c++代码)搭建-使用informix和g++编译
  17. 2.翻译系列:为EF Code-First设置开发环境(EF 6 Code-First系列)
  18. nginx常用参数设置
  19. spring post 图片
  20. FIO read测试结果偏离

热门文章

  1. hdu2410(水)
  2. win10常用的运行命令
  3. Django学习(四)---Admin配置
  4. CJOJ 1494 【网络流24题】 搭配飞行员(二分图最大匹配)
  5. .net 类型转换
  6. jvm007 jvm知识点总览
  7. Android - FragmentTabHost 与 Fragment 制作页面切换效果
  8. USB基础知识
  9. Java面向对象之抽象类,接口
  10. 51nod_1298:圆与三角形(计算几何)