C#設計模式--簡單工廠模式


設計模式:

簡單工廠模式(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     }

運行結果:

 

總結:如有問題歡迎留言!以上便是一個簡單工廠模式!

代碼工程文件下載

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM