美文网首页
{C#}设计模式辨析.桥接

{C#}设计模式辨析.桥接

作者: 码农猫爸 | 来源:发表于2021-08-06 07:57 被阅读0次

背景

  • 桥接多个维度时
  • 实现@抽象类:
    • 子类继承产生基础维度
    • 构造器传参其它维度(1-n)
    • 方法提炼或交互多个维度

示例

using static System.Console;

namespace DesignPattern_Bridge
{
    // 颜色维度,便于替换传参
    public interface IColor { void Show(); }

    public class Blue : IColor
    {
        public void Show() => WriteLine("in blue color.");
    }

    public class Red : IColor
    {
        public void Show() => WriteLine("in red color.");
    }

    // 桥接颜色和形状维度变化
    public abstract class Shape
    {
        protected readonly IColor Color;

        // 允许多个接口传参
        public Shape(IColor color)
        {
            Color = color;
        }

        // 提炼或交互接口,多接口传参时也必须
        public virtual void Draw() { }
    }

    public class Circle : Shape
    {
        public Circle(IColor color) : base(color) { }

        public override void Draw()
        {
            Write("One circle is drawn ");
            Color.Show();
        }
    }

    public class Square : Shape
    {
        public Square(IColor color) : base(color) { }

        public override void Draw()
        {
            Write("One circle is drawn ");
            Color.Show();
        }
    }

    public class Client
    {
        public void Execute()
        {
            // 绿色长方形时,应
            // - 增加IColor的子类Green,不影响旧代码
            // - 增加Shape的子类Rectangle,不影响旧代码
            // - 本类颜色改为绿色,影响旧代码,必须
            // - 本类形状改为长方形,影响旧代码,必须
            var color = new Red();
            var shape = new Circle(color);
            shape.Draw();

            ReadKey();
        }
    }


    class Program
    {
        static void Main(string[] args)
        {
            var client = new Client();
            client.Execute();
        }
    }
}

相关文章

  • {C#}设计模式辨析.桥接

    背景 桥接多个维度时 实现@抽象类:子类继承产生基础维度构造器传参其它维度(1-n)方法提炼或交互多个维度 示例

  • 桥接模式

    设计模式:桥接模式(Bridge)

  • 设计模式-桥接模式

    设计模式-桥接模式 定义 桥接模式(Bridge Pattern)也称为桥梁模式、接口(Interface)模式或...

  • 设计模式——桥接模式

    设计模式——桥接模式 最近公司组件分享设计模式,然而分配给我的是桥接模式。就在这里记录我对桥接模式的理解吧。 定义...

  • 设计模式

    《C#设计模式》 《C#设计模式》-设计模式概述 《C#设计模式》-面向对象设计原则 《C#设计模式》-单例模式 ...

  • 设计模式之桥接模式

    设计模式之桥接模式 1. 模式定义 桥接模式又称柄体模式或接口模式,它是一种结构性模式。桥接模式将抽象部分与实现部...

  • Java设计模式<桥接模式>

    Java设计模式<桥接模式> 意图 桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将...

  • Java设计模式——桥接模式

    Java设计模式之桥接模式 回顾 上一期分享了适配器模式,主要为了实现解耦 桥接模式 简介 桥接模式是对象的结构模...

  • 桥接模式

    介绍 桥接模式(Bridge Pattern) 也称为桥梁模式,是结构型设计模式之一。桥接模式的作用就是连接 "两...

  • 设计模式-桥接模式

    桥接模式介绍 桥接模式(Bridge Pattern)也称为桥梁模式,是结构型设计模式之一。顾名思义其与现实中的桥...

网友评论

      本文标题:{C#}设计模式辨析.桥接

      本文链接:https://www.haomeiwen.com/subject/ovrvvltx.html