摘要:
log4net在.net 4.0 ClientProfile无法使用,原因是log4net里面有AspNetTraceAppender、AspNetPatternConverter等使用了System.Web,而 ClientProfile没有包含这个命名空间。解决办法很简单下载 log4net的源代码,将 ClientProfile不支持的类全部去掉,重新编译就可以了。我这里已经编译好了一个:http://files.cnblogs.com/kiminozo/log4net.ClientProfile.zip 阅读全文
摘要:
装饰模式是通过包装类动态地往一个类中添加新的行为装饰模式http://zh.wikipedia.org/wiki/修饰模式通过使用修饰模式,可以在运行时扩充一个类的功能。原理是:增加一个修饰类包裹原来的类,包裹的方式一般是通过在将原来的对象作为修饰类的构造函数的参数。装饰类实现新的功能,但是,在不需要用到新功能的地方,它可以直接调用原来的类中的方法。修饰类必须和原来的类有相同的接口。修饰模式是类继承的另外一种选择。类继承在编译时候增加行为,而装饰模式是在运行时增加行为。FCL中的装饰模式在流处理中装饰模式非常常用,典型的就是GZipStream提供用于压缩和解压缩流的方法和属性。结构如下:其中 阅读全文
摘要:
适配器模式是让一个接口兼容并适应另一个通用的接口的模式。适配器模式http://zh.wikipedia.org/wiki/适配器模式适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。FCL中的适配器模式比较典型的是WindowsFormsHost 类允许在 WPF 页面上承载 Windows Forms控件的元素。也就是将Windows Forms控件适配为Wpf的FrameworkElement结构如下:示例代码:<Win 阅读全文