上一篇使用的装饰者模式
桥接(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