zoukankan      html  css  js  c++  java
  • 设计模式之日志工厂

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

  • 相关阅读:
    poj 1456 贪心+STL
    hdu 4283 区间dp
    hdu 4745 区间dp
    hdu 3652 数位dp
    poj 2955 区间dp
    ubuntu apache2配置详解(含虚拟主机配置方法)
    从 mysql 客户端导出数据库 mysqldump
    Git 版本回退问题详解
    SEO 外链 内链 的定义
    为项目编写Readme.MD文件
  • 原文地址:https://www.cnblogs.com/rjjs/p/5597240.html
Copyright © 2011-2022 走看看