static void Main(string[] args) { Console.WriteLine("欢迎来到.net高级班公开课之设计模式特训课,今天是Eleven为大家带来的桥接模式"); Console.WriteLine("******************************"); { BasePhone phone = new iPhone(); phone.Call(); phone.Text(); } Console.WriteLine("******************************"); { BasePhone phone = new Galaxy(); phone.Call(); phone.Text(); } Console.WriteLine("******************************"); { BasePhone phone = new iPhoneAndroid(); phone.Call(); phone.Text(); } Console.WriteLine("******************************"); { BasePhone phone = new GalaxyIOS(); phone.Call(); phone.Text(); } ISystem android = new AndroidSystem(); ISystem ios = new IOSSystem(); ISystem winphone = new WinphoneSystem(); Console.WriteLine("******************************"); { BasePhoneBridge phone = new GalaxyBridge(); phone.SystemVersion = android; phone.Call(); phone.Text(); } { BasePhoneBridge phone = new GalaxyBridge(); phone.SystemVersion = ios; phone.Call(); phone.Text(); } { BasePhoneBridge phone = new GalaxyBridge(); phone.SystemVersion = winphone; phone.Call(); phone.Text(); } Console.Read(); }
public void Show() { #region 没用桥接模式前的代码 //{ // BasePhone phone = new iPhone(); // phone.Call(); // phone.Text(); // Console.WriteLine("********************"); //} //{ // BasePhone phone = new Galaxy(); // phone.Call(); // phone.Text(); // Console.WriteLine("********************"); //} //{ // BasePhone phone = new GalaxyIOS(); // phone.Call(); // phone.Text(); // Console.WriteLine("********************"); //} //{ // BasePhone phone = new iPhoneAndroid(); // phone.Call(); // phone.Text(); // Console.WriteLine("********************"); //} #endregion ///一下是用桥接模式优化的代码 ISystem android = new AndroidSystem(); ISystem IOS = new IOSSystem(); ISystem WinPhone = new WinPhoneSystem(); Console.WriteLine("********************"); { BasePhoneBridge phone = new iPhoneBridge(); phone.SystemVersion = IOS; phone.Call(); phone.Text(); } Console.WriteLine("********************"); { BasePhoneBridge phone = new GalaxyBridge(); phone.SystemVersion = android; phone.Call(); phone.Text(); } Console.WriteLine("********************"); { BasePhoneBridge phone = new WinPhoneBridge(); phone.SystemVersion = WinPhone; phone.Call(); phone.Text(); } Console.WriteLine("********************"); { BasePhoneBridge phone = new iPhoneBridge(); phone.SystemVersion = android; phone.Call(); phone.Text(); } }