.NET设计模式:工厂方法模式(Factory Method)[2]

发表于:2008-09-28来源:作者:点击数: 标签:MethodFactoryNetNET工厂
关键字:设计模式 1/**//// summary 2/// 日志记录类 3/// /summary 4public class Log 5 { 6 7 public void WriteEvent() 8 { 9 Console.WriteLine("EventLog Success!"); 10 } 11 12 public void WriteFile() 13 { 14 Console.WriteLine("FileLog Success!
关键字:设计模式
1/**//// <summary>
 2/// 日志记录类
 3/// </summary>
 4public class Log
 5    {
 6
 7        public void WriteEvent()
 8        {
 9            Console.WriteLine("EventLog Suclearcase/" target="_blank" >ccess!");
10        }
11   
12        public void WriteFile()
13        {
14            Console.WriteLine("FileLog Success!");
15        }
16
17        public void Write(string LogType)
18        {
19            switch(LogType.ToLower())
20            {
21                case "event":
22                    WriteEvent();
23                    break;
24
25                case "file":
26                    WriteFile();
27                    break;
28
29                default:
30                    break;
31            }
32        }
33    }
34

    这样的程序结构显然不能符合我们的要求,如果我们增加一种新的日志记录的方式DatabaseLog,那就要修改Log类,随着记录方式的变化,switch语句在不断的变化,这样就引起了整个应用程序的不稳定,进一步分析上面的代码,发现对于EventLog和FileLog是两种完全不同的记录方式,它们之间不应该存在必然的联系,而应该把它们分别作为单独的对象来对待。

原文转自:http://www.ltesting.net