C# 设计模式-桥接(Bridge)
2017-12-28 20:36
531 查看
将抽象部分和实现部分分离,使它们可以独立变化
主要组成:
Abstraction(抽象类)
RefinedAbstraction(抽象类的子类)
Implementor(实现接口)
ConcreteImplementor(具体实现类)
适配器和桥接的区别:
适配器:用来帮助无关的类协同工作,通常在系统设计完成后才使用。
桥接:在系统开始时就使用,使抽象部分和实现部分分离。
抽象和实现:
调用:
结果:
参考资料:《设计模式-可复用面对对象软件的基础》
主要组成:
Abstraction(抽象类)
RefinedAbstraction(抽象类的子类)
Implementor(实现接口)
ConcreteImplementor(具体实现类)
适配器和桥接的区别:
适配器:用来帮助无关的类协同工作,通常在系统设计完成后才使用。
桥接:在系统开始时就使用,使抽象部分和实现部分分离。
抽象和实现:
using System; namespace Bridge { /// <summary> /// 统计抽象类 /// </summary> abstract class StatisticsAbstraction { protected IStatisticsImp StatisticsImp { get; set; } public abstract void Operation(); } /// <summary> /// 统计和 /// </summary> class StatisticsSum : StatisticsAbstraction { public override void Operation() { StatisticsImp = new ComputeSumImp(); StatisticsImp.OperationImp(); } } /// <summary> /// 统计均值 /// </summary> class StatisticsMean : StatisticsAbstraction { public override void Operation() { StatisticsImp = new ComputeMeanImp(); StatisticsImp.OperationImp(); } } /// <summary> /// 实现接口 /// </summary> interface IStatisticsImp { void OperationImp(); } /// <summary> /// 实现求和 /// </summary> class ComputeSumImp : IStatisticsImp { public void OperationImp() { Console.WriteLine("求和"); } } /// <summary> /// 实现求均值 /// </summary> class ComputeMeanImp : IStatisticsImp { public void OperationImp() { Console.WriteLine("求均值"); } } }
调用:
using System; namespace Bridge { class Program { static void Main(string[] args) { //统计均值 StatisticsAbstraction statisticsAbstraction = new StatisticsMean(); statisticsAbstraction.Operation(); //统计和 statisticsAbstraction=new StatisticsSum(); statisticsAbstraction.Operation(); } } }
结果:
参考资料:《设计模式-可复用面对对象软件的基础》
相关文章推荐
- 乐在其中设计模式(C#) - 桥接模式(Bridge Pattern)
- C#设计模式之桥接模式(Bridge Pattern)
- [导入]C#面向对象设计模式纵横谈之7.Bridge 桥接模式
- C#设计模式系列:桥接模式(Bridge)
- 乐在其中设计模式(C#) - 桥接模式(Bridge Pattern)
- 乐在其中设计模式(C#) - 桥接模式(Bridge Pattern)
- 乐在其中设计模式(C#) - 桥接模式(Bridge Pattern)
- [导入]C#面向对象设计模式纵横谈(8):Bridge 桥接模式(结构型模式).zip(9.01 MB)
- IOS 设计模式 桥接模式(bridge)
- Java设计模式-桥接模式(Bridge)
- 设计模式之桥接模式(Bridge)
- 设计模式之美:Bridge(桥接)
- 设计模式(6)-Bridge 桥接模式
- 设计模式-----桥接模式(Bridge Pattern)
- 设计模式-----桥接模式(Bridge Pattern)
- 《模式——工程化实现及扩展》(设计模式C# 版)《桥模式 Bridge》——“自我检验"参考答案
- 设计模式-----桥接模式(Bridge Pattern)
- 设计模式(5) - Bridge桥接模式
- 23种设计模式(7)_结构型_桥接模式(Bridge Pattern)
- 设计模式(3)-结构型-桥接模式(Bridge)