设计模式 Vs实践-4 桥接模式

上一篇使用的装饰者模式

桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。

如果将上一篇的装饰者模式改为桥接模式的话,代码修改如下(如理解的不对请指点)

class Person
{
    private string name;
    public Person()
    {

    }
    public Person(string name)
    {
        this.name = name;
    }
    public virtual void Show()
    {
        Console.WriteLine("装扮的{0}",name);
    }
}
abstract class Finery
{
    protected Person person;
    public abstract void Show();

}
class TShirts : Finery
{
    public TShirts(Person person)
    {
        this.person = person;
    }

    public override void Show()
    {
        Console.Write("TShirts ");
    }
}
class Program
{
    static void Main(string[] args)
    {
        Person person = new Person();
        TShirts tShirts=new TShirts(person);
        tShirts.Show();
        Console.ReadLine();
    }
}

可以看到和装饰者模式区别在于:Finery不再继承自Person,在Finery类中定义一个类对象Person person

原文地址:https://www.cnblogs.com/zhaogaojian/p/12509556.html