桥接模式
最近重读设计模式,理解更上一层楼。
为以便日后翻阅之需特坚持写博客,记录技术点滴。
本设计模式系列源码均参考 http://c.biancheng.net/view/1317.html java语言版本的23种设计模式,
同时方便没有java基础的同学参阅故翻译成C#系列。
java系列对设计模式的应用说明,模式的总结均有详细说明,此系列文章仅仅作翻阅之用,如需要详细理解请参阅上述链接。
/// <summary> /// 桥接模式 /// 通过抽象化实现业务类实现细节,依赖于接口 /// 把业务留给外部实现类,从而事先实现具体实现业务角色的编码工作 /// 通过一个接口桥接外部实现。 /// </summary> public interface Implementor { void OperationImpl(); } public class ConcreteImplementorA : Implementor { public void OperationImpl() { throw new NotImplementedException(); } } public abstract class Abstraction { public Implementor imple; public Abstraction(Implementor imple) { this.imple = imple; } public abstract void Operation(); } //扩展抽象化角色 public class RefinedAbstraction : Abstraction { public RefinedAbstraction(Implementor imple) : base(imple) { } public override void Operation() { Console.WriteLine("扩展抽象化(Refined Abstraction)角色被访问"); imple.OperationImpl(); } } public class BridgeTest { public static void Main(String[] args) { Implementor imple = new ConcreteImplementorA(); Abstraction abs = new RefinedAbstraction(imple); abs.Operation(); } }
浙公网安备 33010602011771号