文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Castle+ICO实践

Castle+ICO实践

时间:2009-04-14  来源:kvsg_yang

看完TerryLee老师的文章,感觉Castle确实强大,这里我只对自己进行总结, 如果大家感兴趣,请参阅 http://www.cnblogs.com/Terrylee/archive/2006/04/28/387503.html   首先,建立2个接口  

public interface ILog
    {
        void Write(string MsgStr);
    }

    public interface ILogFormatter
    {
        string Format(string MsgStr);
    }

这里Ilog是主要执行。ilogformatter只是作为功能显示出现的,ilogformatter的具体实现为

 

    public class TextFormatter : ILogFormatter
    {
        public TextFormatter()
        {
            
        }

        public string Format(string MsgStr)
        {
            return "[" + MsgStr + "]";
        }//只是一个读取后输出函数
    }

 

看一下主类

public class TextFileLog : ILog
    {
        private string _target;
        private ILogFormatter _format;//这里关联iLogformatter

        public TextFileLog(string target,ILogFormatter format)//构造函数
        {
            this._target = target;
            this._format = format;
        }

        public void Write(string MsgStr)//重新这个函数
        {
            string _MsgStr = _format.Format(MsgStr);
            _MsgStr += _target;
            
            //Output Message
            Console.WriteLine("Output "+_MsgStr);
        }
    }

本例使用的是构造函数实现,不过貌似可以通过使用属性方式定义也可,

TextFileLog 的一个内置变量是 ILogFormatter 接口类,并且写入了构造函数之中,这里就做好了关联,而如果程序运行找不到的话,便会报错,当然后面的执行也是因为这个地方而出现,

看下我们的xml配置

 

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <components>
        <component id="txtLog">
            <parameters>
                <target>Hello Word!

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载