设计模式之日志工厂

Posted bing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之日志工厂相关的知识,希望对你有一定的参考价值。

在看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{}

 

以上是关于设计模式之日志工厂的主要内容,如果未能解决你的问题,请参考以下文章

设计模式之工厂模式

设计模式之工厂模式详解和应用

设计模式之简单工厂工厂方法抽象工厂

设计模式之工厂模式

设计模式之工厂方法模式

设计模式之工厂方法模式