《c#设计模式之桥模式》由会员分享,可在线阅读,更多相关《c#设计模式之桥模式(5页珍藏版)》请在金锄头文库上搜索。
1、C#设计模式之桥模式桥梁模式(Bridge Patter)也叫做桥接模式,是一个比较简单的模式。 定义:将抽象和实现解耦,使得两者可以独立地变化。通用类图:Abstraction抽象化角色它主要的职责是定义出该角色的行为,同时保存一个对实现化角色的引用,该角色一般是抽象类。Implementro实现化角色它是接口或者抽象类,定义角色必须的行为和属性。RefinedAbstraction修正抽象化角色它引用实现化角色对抽象化角色进行修正。ConcreteImplementor具体实现化角色它实现接口或抽象类定义的方法和属性。实现代码如下:定义制造商接口:public interface Manu
2、facturervoid Produce();定义抽象类工厂:public abstract class Carpublic Manufacturer lnkManufacturer;public Car()public Car(Manufacturer lnkManufacturer)this.lnkManufacturer = lnkManufacturer;public void Produce()lnkManufacturer.Produce(); 定义具体类卡车工厂:public class Truck : Carpublic Truck(Manufacturer lnkManufa
3、cturer)base.lnkManufacturer = lnkManufacturer;public new void Produce()lnkManufacturer.Produce();Console.WriteLine(的货车n);定义具体类汽车工厂public class Bus : Carpublic Bus(Manufacturer lnkManufacturer)base.lnkManufacturer = lnkManufacturer;public new void Produce() lnkManufacturer.Produce();Console.WriteLine
4、(的公共汽车n);public class Faw : Manufacturerpublic void Produce()Console.Write(一汽制造);public class Dfmc : Manufacturerpublic void Produce()Console.Write(二汽制造);调用代码:/一汽制造Truck car1 = new Truck(new Faw();car1.Produce();Bus bus1 = new Bus(new Faw();bus1.Produce(); /二汽制造Truck car2 = new Truck(new Dfmc();car2.Produce();Bus bus2 = new Bus(new Dfmc();bus2.Produce();