12 2008 档案
摘要:经过一个多月的努力,用于在.NET下开发控制台程序的框架ACF终于有了新的版本。ACF简化了.NET下具有复杂命令行语法的控制台程序的开发过程,不仅使得控制台程序具备可测试性,而且开发人员还能够非常方便地向控制台程序发布新的命令行语法。本次版本更新涉及到了下面几个方面:性能优化支持多个“契约仓储(Contract Repository)”,以使得控制台程序有着良好的扩展性支...
阅读全文
摘要:原本我一直是使用Windows Live Writer(WLW)在自己的英文博客上发布文章,在将博客换成中文的PJBLOG后,我也就没有再使用WLW了。今天我重新打开了WLW,尝试着配置以便能够支持PJBLOG。结果发现,WLW确实能够很好的兼容PJBLOG,而且图片的发布也非常方便,这对于广大博友来说,无非是一个很好的消息,WLW也能够满足广大博友的写博需求。然而,对于我这个时不时会在博客中加入...
阅读全文
摘要:事件定义的时候,可以使用add和remove关键字来自定义事件处理函数的添加与移除功能。例如,可以在添加和移除之前,使用lock关键字实现线程同步。虽然MethodImplAttribute会用当前类的对象作为同步对象实现线程同步,但当对象需要向外界公布多个事件的时候,这样做会产生效率问题。比如:对象A向外界公布了E1、E2两个事件,订阅方O1使用+=运算符试图订阅E1事件;订阅方O2也使用+=运...
阅读全文
摘要:在此把平时经常去的学习C#和.NET的地址链接整理一下,当然也还包括其它不错的站点,也会列举在此,以作必要时参考(不断更新中)。CodeProject:http://www.codeproject.com,不仅仅是学习C#/.NET,它还包括了诸如C++、COM等其它技术的内容CodePlex:http://www.codeplex.com,MS支持的开源网站,有N多源代码可供下载或参考。本人写的...
阅读全文
摘要:上个礼拜收到了CCSE(全国软件工程大会暨系统分析员年会)组委会给我寄来的CCSE2008论文集:《计算机工程与应用》特刊。其中包括了我发表的一篇论文,题目是《领域驱动设计的研究与实践》。在这篇论文中,我以一个实际项目为例,简要地阐述了领域驱动设计(Domain Driven Design,简称DDD,下同)的基本理论及其在软件项目中的应用。由于篇幅有限,刊登出来的论文只能介绍个大概,事实上我应该...
阅读全文
摘要:在讨论事件订阅之前,我们先来看看委托的另一个特性,即调用列表(invocation list)。对于某个特定的委托而言,我们既可以将其它的委托加入其调用列表中,也可以从其调用列表中将其它的委托移除。那么当程序使用这个委托的时候,就会循环遍历并执行其调用列表中的所有委托。下面请看一个例子,在这个例子中,我们定义了一个委托Callback,并将指代两个函数Func1和Func2的委托依次加入其调用列表...
阅读全文