桥接模式二(Bridge)
2024-09-14 02:42:19
昨天写到了桥接模式的代码实现,今天我们就继续来讲完桥接模式。
有认真看的会发现,昨天的代码实现只是两个维度的变化;哪么有人可能就会问了哪如果我要加多一个维度呢?我要具体到企业的哪个部门,哪我们应该怎么加呢?下面我就给大家看看代码是怎么实现的。
要想实现加入部门这个维度只要添加以下代码:
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
原文里有源代码
最新文章
- QQ在线客服设置
- 使用SQL生成DateTime.Ticks
- 腾讯优测-优社区干货精选 |  那些年,我们在Android机型适配上遇到的坑之Camera拍照时快门咔嚓声
- MyEclipse------executeBatch()使用方法
- uvalive 4992 Jungle Outpost
- 行内元素有哪些?块级元素有哪些?CSS的盒模型?转载
- Asp.Net MVC 3
- [置顶] 安卓UI组件之ListView详解
- memcached可视化客户端工具
- 锤子坚果pro突破京东10万好评,还有什么是锤子科技做不出...
- 学习总结---BGP协议
- java学习之匿名内部类
- UML之涉众/参与者(角色/执行者)(Actor)/业务主角(BusinessActor)/业务工人(BusinessWorker)/用户/角色辨析【图解】
- windows 安装python pip Could not install packages due to anEnvironmentError: [WinError 5] 拒绝访问
- 王之泰201771010131《面向对象程序设计(java)》第六周学习总结
- 64位Redhat系统应用(c++代码)搭建-使用informix和g++编译
- 2.翻译系列:为EF Code-First设置开发环境(EF 6 Code-First系列)
- nginx常用参数设置
- spring post 图片
- FIO read测试结果偏离