C#设计模式/Factory Method模式

封装对象创建的变化
类LogFactory是所有工厂类的抽象父类,专门负责Log对象的创建.

Code:
public abstract class Log
    
{
        
public abstract void Write(string target, string logValue);
    }

public class DBLog:Log
    
{
        
public override void Write(string target, string logValue)
        
{
            Console.WriteLine(
"Logging {0} to DB {1}.", logValue, target);
        }

    }

public abstract class LogFactory
    
{
        
public abstract Log Create();
    }

public class DBLogFactory:LogFactory
    
{
        
public override Log Create()
        
{
            
return new DBLog();
        }

    }

class Program
    
{
        
static void Main(string[] args)
        
{
            LogFactory factory 
= new DBLogFactory();
            Log lg 
= factory.Create();
            lg.Write(
"DBLogFactory""DBLogFactoryValue");
            Console.ReadLine();
        }

    }

posted @ 2008-03-16 23:18  E.L.---黑者如斯夫,不舍昼夜......  阅读(226)  评论(0)    收藏  举报