設計模式:
簡單工廠模式(Simple Factory Pattern)
介紹:簡單工廠模式不是Gof23種設計模式之一。但它在實際的編程中經常被用到,而且思想也非常簡單,下面簡單舉例說明:
簡單工廠模式類圖:
簡單工廠模式C#代碼舉例:
MobilePhone(手機類)
1 public abstract class MobilePhone 2 { 3 4 public abstract void print(); 5 }
Iphone(蘋果手機類)
1 public class Iphone : MobilePhone 2 { 3 4 public override void print() 5 { 6 Console.WriteLine("我是蘋果品牌!"); 7 } 8 }
XiaoMI(小米手機類)
1 public class XiaoMI : MobilePhone 2 { 3 public override void print() 4 { 5 Console.WriteLine("我是小米手機"); 6 } 7 }
SmarTisan(錘子手機類)
public class SmarTisan : MobilePhone { public override void print() { Console.WriteLine("我是錘子手機!"); } }
MobielPhoneFactory(手機工廠類)
1 public class MobielPhoneFactory 2 { 3 public static MobilePhone CreateMobilePhone(string PhoneBrand) 4 { 5 MobilePhone mobilePhone = null; 6 if (PhoneBrand.Equals("蘋果")) 7 { 8 mobilePhone = new Iphone(); 9 } 10 else if (PhoneBrand.Equals("小米")) 11 { 12 mobilePhone = new XiaoMI(); 13 } 14 else if (PhoneBrand.Equals("錘子")) 15 { 16 mobilePhone = new SmarTisan(); 17 } 18 else 19 { 20 21 } 22 return mobilePhone; 23 } 24 25 }
測試工廠代碼:
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 MobilePhone mobilephone1 = MobielPhoneFactory.CreateMobilePhone("蘋果"); 6 if(mobilephone1 != null) 7 mobilephone1.print(); 8 MobilePhone mobilephone2 = MobielPhoneFactory.CreateMobilePhone("小米"); 9 if(mobilephone2 != null) 10 mobilephone2.print(); 11 MobilePhone mobilephone3 = MobielPhoneFactory.CreateMobilePhone("錘子"); 12 if(mobilephone3 != null) 13 mobilephone3.print(); 14 Console.Read(); 15 } 16 }
運行結果:
總結:如有問題歡迎留言!以上便是一個簡單工廠模式!
代碼工程文件下載