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