c#设计模式之桥梁模式

桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。

类图如下:


Implementor

public abstract class Implementor
    {
        public abstract void Function();
    }

ConcreateImplementorA

 public class ConcreateImplementorA : Implementor
    {
        public override void Function()
        {
            Console.WriteLine("Function in ConcreateImplementorA");
        }
    }

ConcreateImplementorB

public class ConcreateImplementorB : Implementor
    {
        public override void Function()
        {
            Console.WriteLine("Function in ConcreateImplementorB");
        }
    }

Abstract

public abstract class Abstract
    {
        private Implementor implementor;
        public Abstract(Implementor imp)
        {
            this.implementor = imp;
        }
        public  void Function()
        {
            this.implementor.Function();
        }
        public abstract void Func();
    }

ConcreateAbstract

public class ConcreateAbstract : Abstract
    {
        public ConcreateAbstract(Implementor imp) : base(imp)
        {
        }

        public override void Func()
        {
        }
    }

调用

static void Main(string[] args)
        {
            ConcreateImplementorA concreateImp = new ConcreateImplementorA();
            ConcreateAbstract concreateAbstract = new ConcreateAbstract(concreateImp);

            concreateAbstract.Function();
            concreateAbstract.Func();
        }

优点:

  1. 使抽象和实现沿着各自的方向扩展,相互没有制约(比如Implementor需要增加一个实现类,而Abstract不必增加对应的实现类)

缺点:

  1. 使程序变复杂

源代码地址: 点击我下载 提取码: 2ms2

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我不怕千万人阻挡,只怕自己投降。
    琳梓儿阅读 145评论 0 0
  • 7.What are data- attributes good for? 普通用法: data-特性: data...
    IAmWhoAmI阅读 436评论 0 0
  • 千古大美女人系列之慈母篇 公元1103年,河南汤阴农村的一间破旧民房,姚夫人生下一名男婴。当时,正逢金兵进犯中原,...
    长安秀阅读 1,365评论 0 5
  • 星桦 初秋明媚,丽日当头。某日下午,姐姐玉梅,带领梅园爱心团队和其他爱心人士,一行...
    李星桦A阅读 688评论 0 1
  • 昨天,是我参加写作训练营的第二天。白天完全没有时间学习写作。下了班,开始爬楼看群里有用的信息。然后听课,完成作业,...
    常十七阅读 271评论 4 3