设计模式之日志工厂

在看supersocket都时候发现里面都日志接口使用了典型都工厂设计模式,在此总结一下基本都思路

1 首先我想创建一个实现某个接口的对象

2 我想使用一个工厂来创建这个接口对象

3 这个工厂需要实现该接口都类来生产该接口对象

代码是实现

比如:

1 定义一个接口

public interface ILog{

  Debug();

  Error();

}

2 定义工厂接口:目的很简单就是生产ILog对象

public interface ILogFacory{

  ILog GetLog();

}

3 使用Log4Net实现一个工厂

public Log4NetFactory:ILogFactory{

  //实现接口

  public ILog GetLog(){

    return new Log4Net();//生产一个满足ILog接口都对象

  }

}

4 定义实现ILog都类也是Log4NetFactory才能生产这种接口

public class Log4Net:ILog{

  public void Debug(){

  }

  

  public void Error(){}

  

}

//据以上代码其思路非常清晰直观,对满足接口的类扩展非常强悍

比如某一天我想实现一个向控制台输出日志都类,那么我只需要一个实现日志工厂都控制台工厂和实现日志都控制台日志

public class ConsoleLogFactory:ILogFactory

{

}

public class ConsoleLog:ILog{}

原文地址:https://www.cnblogs.com/rjjs/p/5597240.html