[转载] C#面向对象设计模式纵横谈——8. Bridge桥接模式
主讲:李建忠
来源:http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/CsharpOOD.aspx
Bridgepublic abstract class Tank { protected TankPlatformImplementation tankImpl; public Tank(TankPlatformImplementation tankImpl) { this.tankImpl=tankImpl; } public abstract void Shot(); public abstract void Run(); public abstract void Stop(); } public class T50:Tank { public T50(TankImplementation tankImpl) :base(tankImpl) { } public override void Shot() { //...... tankImpl.DoShot(); //...... } public abstract void Run() { //...... //tankImpl; //...... } public abstract void Stop() { //...... } } public class T90:Tank { public T90(TankImplementation tankImpl) :base(tankImpl) { } public override void Shot() { //...... } public abstract void Run() { //...... } public abstract void Stop() { //...... } } public abstract class TankPlatformImplementation { public abstract void MoveTankTo(Point to); public abstract void DrawTank(); public abstract void DoShot(); } public class PCTankImplementation:TankImplementation { public override void MoveTankTo(Point to) { } public override void DrawTank() { } public override void DoShot() { } } public class MobileTankImplementation:TankImplementation { public override void MoveTankTo(Point to) { } public override void DrawTank() { } public override void DoShot() { } } public class App { public static Main() { TankImplementation tankImpl=new MobileTankImplementation(); T50 tank=new T50(tankImpl); } }
转载于:https://www.cnblogs.com/6DAN_HUST/archive/2011/06/19/2084638.html