此時兩個具體工廠的代碼應該如下:
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這樣通過工廠方法模式我們把上面那對象創建工作封裝在了工廠中,此時我們似乎完成了整個Factory Method的過程。這樣達到了我們應用程序和具體日志記錄對象之間解耦的目的了嗎?看一下此時客戶端程序代碼:
1/**//// <summary>
2/// App類
3/// </summary>
4public class App
5{
6 public static void Main(string[] args)
7 {
8 LogFactory factory = new EventFactory();
9
10 Log log = factory.Create();
11
12 log.Write();
13 }
14}
15
文章來源于領測軟件測試網 http://www.kjueaiud.com/