桥接模式

最近重读设计模式,理解更上一层楼。

为以便日后翻阅之需特坚持写博客,记录技术点滴。

 

 

 

本设计模式系列源码均参考 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();
        }
    }

 

posted on 2019-08-03 12:57  迎着风追赶  阅读(95)  评论(0)    收藏  举报

导航