欢迎来到天天文库
浏览记录
ID:40525957
大小:60.10 KB
页数:5页
时间:2019-08-04
《C#设计模式之桥模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C#设计模式之桥模式桥梁模式(BridgePatter)也叫做桥接模式,是一个比较简单的模式。 定义:将抽象和实现解耦,使得两者可以独立地变化。 通用类图: ● Abstraction——抽象化角色它主要的职责是定义出该角色的行为,同时保存一个对实现化角色的引用,该角色一般是抽象类。● Implementro——实现化角色它是接口或者抽象类,定义角色必须的行为和属性。● RefinedAbstraction——修正抽象化角色它引用实现化角色对抽象化角色进行修正。● ConcreteImplementor——具体实现化角色它实现
2、接口或抽象类定义的方法和属性。实现代码如下:定义制造商接口:publicinterfaceManufacturer { voidProduce(); }定义抽象类工厂: publicabstractclassCar { publicManufacturerlnkManufacturer; publicCar() { } publicCar(ManufacturerlnkManufacturer) { this.l
3、nkManufacturer=lnkManufacturer; } publicvoidProduce() { lnkManufacturer.Produce(); } } 定义具体类卡车工厂: publicclassTruck:Car { publicTruck(ManufacturerlnkManufacturer) { base.lnkManufacturer=lnkManufacturer;
4、 } publicnewvoidProduce() { lnkManufacturer.Produce(); Console.WriteLine("的货车"); } }定义具体类汽车工厂 publicclassBus:Car { publicBus(ManufacturerlnkManufacturer) { base.lnkManufacturer=lnkManufacturer;
5、 } publicnewvoidProduce() { lnkManufacturer.Produce(); Console.WriteLine("的公共汽车"); } } publicclassFaw:Manufacturer { publicvoidProduce() { Console.Write("一汽制造"); } } publicclassDfmc:Man
6、ufacturer { publicvoidProduce() { Console.Write("二汽制造"); } } 调用代码://一汽制造 Truckcar1=newTruck(newFaw()); car1.Produce(); Busbus1=newBus(newFaw()); bus1.Produce(); //二汽制造 Truckc
7、ar2=newTruck(newDfmc()); car2.Produce(); Busbus2=newBus(newDfmc()); bus2.Produce();
此文档下载收益归作者所有