12 2005 档案

posted @ 2005-12-31 16:57 TerryLee 阅读(297) | 评论 (0) 编辑
摘要: 大家都知道,在CodeSmith中现在没有提供选择字段的功能,我们在生成一个List页面时,不可能对整张表的所有字段都生成,所以有必要去实现选择字段的功能。我总结了一下,大体上有以下几种实现思路。阅读全文
posted @ 2005-12-30 10:49 TerryLee 阅读(2717) | 评论 (8) 编辑
摘要: 最近跟同事在研究CodeSmith,感觉中文文档是少之又少,所以我们自己写(翻译)了一些文档,总结如下,希望对使用CodeSmith的朋友有所帮助。

等整个文档完成后,我会做成PDF文件供大家下载。阅读全文
posted @ 2005-12-28 09:15 TerryLee 阅读(53156) | 评论 (50) 编辑
摘要: SchemaExplorer允许我们获取数据库中一些对象的信息。如果你使用的是SQL Server2000数据库,你可以通过扩展属性获取很多对象的有用的信息。阅读全文
posted @ 2005-12-27 14:31 TerryLee 阅读(3599) | 评论 (0) 编辑
摘要: 使用FileDialogAttribute可以设置FileNameEditor中的属性,其用法如下。阅读全文
posted @ 2005-12-27 13:32 TerryLee 阅读(3260) | 评论 (1) 编辑
摘要: FileNameEditor类给我们提供了在CodeSmith属性面板中弹出打开或保存文件对话框的方式,在使用时,首先在模版中得添加对程序集CodeSmith.CustomProperties的引用。然后就可以在模版中定义一个属性来使用FileNameEditor。阅读全文
posted @ 2005-12-27 13:23 TerryLee 阅读(3815) | 评论 (3) 编辑
摘要: String在任何语言中,都有它的特殊性,在.NET中也是如此。它属于基本数据类型,也是基本数据类型中唯一的引用类型。字符串可以声明为常量,但是它却放在了堆中。

本文从String类型是不可改变对象说起,深入探讨了字符串的引用、驻留、比较操作效率以及StringBuilder等内容。

阅读全文
posted @ 2005-12-26 16:15 TerryLee 阅读(10359) | 评论 (50) 编辑
摘要: 虽然不能完全避免死锁,但我们可以将死锁减至最少,并通过一定的方法来检测死锁。如果发生死锁了,我们怎么去检测具体发生死锁的是哪条SQL语句或存储过程?如何去手动的杀死进程和锁?如何查看系统中所有锁的详细信息?阅读全文
posted @ 2005-12-24 14:05 TerryLee 阅读(4990) | 评论 (3) 编辑
摘要: 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?这就是要说的建造者模式。

本文通过现实生活中的买KFC的例子,用图解的方式来诠释建造者模式。
阅读全文
posted @ 2005-12-19 09:32 TerryLee 阅读(57930) | 评论 (69) 编辑
摘要: 华为软件编程规范和范例[转载]阅读全文
posted @ 2005-12-16 10:53 TerryLee 阅读(10654) | 评论 (7) 编辑
摘要: 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。

本文力图通过一个通俗易懂的计算工资程序,用一种全新的方式来说明抽象工厂模式。

阅读全文
posted @ 2005-12-13 09:19 TerryLee 阅读(131406) | 评论 (236) 编辑
摘要: 在.NET中,可以轻松的通过try-catch块来捕获异常。为了防止在应用程序中出现未处理的异常,可以通过添加一个全局的异常处理函数,如果是多线程的处理,还必须考虑除了主线程之外的工作线程中的异常处理办法,这里用委托机制来实现。阅读全文
posted @ 2005-12-12 09:23 TerryLee 阅读(3625) | 评论 (8) 编辑
摘要: SOA(面向服务架构),一个炙手可热的话题。今天上午看CSDN新闻,发现在首页IT新闻区里面基本上全是SOA的报道,看来一个SOA时代真的到来了。阅读全文
posted @ 2005-12-09 11:50 TerryLee 阅读(1746) | 评论 (2) 编辑
摘要: Sigleton设计模式是一个非常有用的机制,可用于在面向对象的应用程序中提供单个访问点。文中通过五种实现方式的比较和一个完整的示例,完成了对Sigleton模式的一个总结和探索。用一句广告词来概括Sigleton模式就是“简约而不简单”。
阅读全文
posted @ 2005-12-09 09:31 TerryLee 阅读(147116) | 评论 (167) 编辑
摘要: 加入Design & Pattern团队有几个月的时间了,惭愧的是从没有写过关于设计模式的随笔,得到wayfarer的同意,把企业库系列的随笔放在了团队的首页上。不是不想去写这样的随笔,也不是没有时间,自己初学设计模式,去写设计模式的文章,有点班门弄斧的味道。园子里吕震宇老师的《设计模式系列》和wayfarer的《设计之道》堪称设计模式里的经典之作。可是正如wafarer所说的那样,受到发表欲的蛊惑,本着交流就是进步的想法,思考再三,还是决定写这样的随笔,来对设计模式做一些探索和总结,起名曰“探索设计模式”,有些言过其实,就当是记录自己学习设计模式的历程吧,不过还是希望能得到各位前辈的指点!
阅读全文
posted @ 2005-12-09 08:59 TerryLee| 编辑
摘要: AppSetting Application Block并不是企业库里面的一个应用程序块。它可以使我们运用企业库的配置工具来管理类似于appSetting这样的配置文件中的标记,像我们经常用到的数据库连接字符串。阅读全文
posted @ 2005-12-08 09:51 TerryLee 阅读(5608) | 评论 (2) 编辑
摘要: 配置应用程序块为应用系统提供了一个通用的配置管理解决方案,可以方便的从各种存储中读取配置信息。在设计上旨在提供一个用于读/写配置数据的简单接口,实现配置数据的读写与数据的存储相分离。使用Storage Provider 和 Transformers在应用和物理存储之间传递数据,同时采用抽象AbstractFactory模式生成Provider数据。

概述
结构设计
解耦
简化配置
扩展器和工厂
阅读全文
posted @ 2005-12-06 09:06 TerryLee 阅读(5865) | 评论 (12) 编辑
摘要: 在本篇随笔中,通过一些简单的示例来说一下Web Service中的异步调用模式。
概述
客户端异步调用方法
服务端使用Soap One-Way方法
服务端使用WSE SoapSender和SoapRecevier
服务端使用WSE 自定义SoapMSMQ传输阅读全文
posted @ 2005-12-05 12:05 TerryLee 阅读(14700) | 评论 (14) 编辑
摘要: 写入XML,通过DOM,XMLReader,XPath读取XML文件,显示XML文件,验证XML文件。阅读全文
posted @ 2005-12-02 09:06 TerryLee 阅读(1426) | 评论 (4) 编辑
摘要: 有朋友给我留言说希望能写一下在企业库里面基于MSMQ的异步日志,正好最近有点时间,于是便有了这篇随笔。阅读全文
posted @ 2005-12-01 14:20 TerryLee 阅读(6346) | 评论 (14) 编辑
摘要: 包含内容:读取文本文件,获取文件列表,读取日志文件,写入日志文件,创建HTML文件。阅读全文
posted @ 2005-12-01 09:34 TerryLee 阅读(1482) | 评论 (0) 编辑
摘要: 保存图片到XML文件及从XML文件中读取。阅读全文
posted @ 2005-12-01 08:43 TerryLee 阅读(1232) | 评论 (1) 编辑