桥接模式——抽象与实现分离

今天学习了桥接模式,小编总结一下!

what

官方定义:将抽象部分与实现部分分离,使他们都可以独立的变化

自己理解:抽象的整体可以实现自己的对象,部分也可以实现自己的对象,抽象和实现是聚合关系

when

当整体有多角度变化,而且部分也是多角度变化,两者独立变化,需要相互解耦的时候就考虑用桥接模式

适用场景:山寨手机

手机是抽象整体,手机的不同品牌是抽象整体的子类,手机零件是抽象部分,电池,耳机等零件是具体的部分

why

其实这个模式和关键在于有两个变化,整体是变化的类,部分也是变化的类

demo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 桥接模式
{
    class Program
    {
        static void Main(string[] args)
        {
            Abstraction ab = new Abstraction();
            ab.SetImplementor(new ConcreteImplementorA());
            ab.Operation();
            
            ab.SetImplementor(new ConcreteImplementorB());
            ab.Operation();
            
            Console.Read();

        }

        abstract class Implementor
        {
            public abstract void OperationaImp();
        }
         class ConcreteImplementorA : Implementor
        {
             public override void OperationaImp()
             {
                 Console.WriteLine("具体实现A的方法执行");
             }
        }
         class ConcreteImplementorB : Implementor
         {
             public override void OperationaImp()
             {
                 Console.WriteLine("具体实现B的方法执行");
             }
         }

          class Abstraction
         { 
              protected Implementor implementor;
                public void SetImplementor (Implementor implementor)
                {
                    this.implementor = implementor;
                }
            public virtual  void Operation()
            {
                implementor.OperationaImp();
            }
         }
          class RefinedAbstraction : Abstraction
          {
              public override void Operation()
              {
                  base.Operation();
              }
          }
    }
}

UML图:


评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值