设计模式之Command模式
namespace DesignPattern
{
public interface ILogWriter
{
void Write(string target, string logValue);
}
public class TxtLogWriter : ILogWriter
{
ILogWriter Members
}
public class XmlLogWriter : ILogWriter
{
ILogWriter Members
}
public class DBLogWriter : ILogWriter
{
ILogWriter Members
}
public class Log
{
private ILogWriter m_logWriter;
public Log(ILogWriter logWriter)
{
m_logWriter = logWriter;
}
public void Write(string target, string logValue)
{
m_logWriter.Write(target, logValue);
}
}
class Program
{
static void Main(string[] args)
{
Log logTxt = new Log(new TxtLogWriter());
logTxt.Write("TxtLogTarget", "TxtLogValue");
Log logXml = new Log(new XmlLogWriter());
logXml.Write("XmlLogTarget", "XmlLogValue");
Log logDB = new Log(new DBLogWriter());
logDB.Write("DBLogTarget", "DBLogValue");
Console.ReadLine();
}
}
}
{
public interface ILogWriter
{
void Write(string target, string logValue);
}
public class TxtLogWriter : ILogWriter
{
ILogWriter Members
}
public class XmlLogWriter : ILogWriter
{
ILogWriter Members
}
public class DBLogWriter : ILogWriter
{
ILogWriter Members
}
public class Log
{
private ILogWriter m_logWriter;
public Log(ILogWriter logWriter)
{
m_logWriter = logWriter;
}
public void Write(string target, string logValue)
{
m_logWriter.Write(target, logValue);
}
}
class Program
{
static void Main(string[] args)
{
Log logTxt = new Log(new TxtLogWriter());
logTxt.Write("TxtLogTarget", "TxtLogValue");
Log logXml = new Log(new XmlLogWriter());
logXml.Write("XmlLogTarget", "XmlLogValue");
Log logDB = new Log(new DBLogWriter());
logDB.Write("DBLogTarget", "DBLogValue");
Console.ReadLine();
}
}
}