概述
桥接模式:
将抽象部分与其显示部分分离,使他们都可以独立地变化。
和中继器模式:
中继模式,就是利用无线路由器之间的无线连接功能,将无线信号从一个中继点传递到下一个中继点,实现信号的增强,并形成新的无线覆盖区域,最终达到延伸无线网络的覆盖范围的目的。
事实上,只要有两台支持中继功能的无线路由器,即可拓展网络覆盖范围。
中继和桥接功能对于无线用户的实际使用基本上是一样的,只是设备有所不同,并非所有无线路由器都可以桥接,无线路由桥接就是把无线路由器当中继器使用。桥接并非无线路由器的主要功能。使用中继模式时,网络SSID号均一致,而在桥接模式时,网络SSID号不同。
和策略模式:
相对策略模式,桥接模式要表达的内容要更多,结构也更加复杂。
桥接模式表达的主要意义其实是接口隔离的原则,即把本质上并不内聚的两种体系区别开来,使得它们可以松散的组合,
而策略在解耦上还仅仅是某一个算法的层次,没有到体系这一层次。
从结构图中可以看到,策略的结构是包容在桥接结构中的,桥接中必然存在着策略模式
https://zhidao.baidu.com/question/305602100407159564.html
优点:
1.解耦:分离了抽象接口和实现部分,将多个维度转化为各自独立的维度。
2.多个子类继承父类,当其中某一个子类添加新功能时,可以不更改子类,桥接模式间接的的实现了在C#中不可以实现多重继承的的缺陷。
3.提高系统扩展性,维度独立化,可以扩展任意维度,不需要对原有系统进行大规模修改,符合类开闭原则。
缺点:
不容易区分两大维度,使用范围具有局限性。
适用场景:
1.抽象部分和实现部分可以继承的方式独立,相互不影响。或者说一个类具有多个独立并且变化的维度
2.可以打破C#中,子类无法实现多重继承的缺陷。
组合模式:
将对象组合成树型接口以表示“部分——整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。
优点:
1.可详细的定义分层次的复杂对象,用户可以忽略层次的差异。
2.基本对象可以被组合成复杂组合对象,这个组合对象也可以被组合,这样不断递归,客户端调用基本对象的地方都可以使用组合对象。
3.方便将新的叶子构件放入容器构件中。
缺点:
层次关系的出现使得设计复杂。
适用场景:
表示一个对象整体—部分的层次结构。
装饰模式:
动态地给一个对象添加一些额外的职责。就增加功能而言,Decorato模式比生成子类更加灵活。
优点:
1.把类中的装饰功能从类中搬移去除,这样可以简化原有的类。(有效的把类的核心职责和装饰功能区分开了)。
2.而且可以去除相关类中重复的装饰逻辑)
缺点:
如果装饰的对象过多,就会造成更多的系统资源被占用,装饰要适当。
适用场景:
动态的给某一个对象增加职能,如果继承不方便扩展对象职能,装饰着模式会更加灵活。
组合和装饰模式的区别:
组合模式是一个树形的结构,有叶子节点,有树枝节点,树枝下面还可以有叶子。
而装饰者模式是一个俄罗斯套娃的结构,外层套内层,不断的进行装饰。区别还是蛮明显的。他们有一个共同点就是所有的类都继承自同一个抽象类(或者对象)。
最后
以上就是清秀自行车为你收集整理的桥接、组合、装饰模式桥接模式:组合模式:装饰模式:的全部内容,希望文章能够帮你解决桥接、组合、装饰模式桥接模式:组合模式:装饰模式:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复