NET設計模式:工廠方法模式(Factory Method)[3]

發表于:2008-09-28來源:作者:點擊數: 標簽:MethodFactoryNetNET工廠
關鍵字:設計模式 1/**//// summary 2/// EventFactory類 3/// /summary 4public class EventFactory 5{ 6 public EventLog Create() 7 { 8 return new EventLog(); 9 } 10} 11/**//// summary 12/// FileFactory類 13/// /summary 14public class FileFacto
關鍵字:設計模式
 1/**//// <summary>
 2/// EventFactory類
 3/// </summary>
 4public class EventFactory
 5{
 6    public EventLog Create()
 7    {
 8        return new EventLog();
 9    }
10}
11/**//// <summary>
12/// FileFactory類
13/// </summary>
14public class FileFactory
15{
16    public FileLog Create()
17    {
18        return new FileLog();
19    }
20}
21

    這兩個工廠和具體的產品之間是平行的結構,并一一對應,并在它們的基礎上抽象出一個公用的接口,結構圖如下:

    實現代碼如下:

1/**//// <summary>
2/// LogFactory類
3/// </summary>
4public abstract class LogFactory
5{
6    public abstract Log Create();
7}
8

    此時兩個具體工廠的代碼應該如下:


 1/**//// <summary>
 2/// EventFactory類
 3/// </summary>
 4public class EventFactory:LogFactory
 5{
 6    public override EventLog Create()
 7    {
 8        return new EventLog();
 9    }
10}
11/**//// <summary>
12/// FileFactory類
13/// </summary>

14public class FileFactory:LogFactory
15{
16    public override FileLog Create()
17    {
18        return new FileLog();
19    }
20}
21

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97