|
|
置顶随笔
摘要: Princeton Financial SystemsSenior Software Engineer SeveralJob Description:Reverse Engineer the current system, which is a huge portfolio accounting and management application with tens of million lin... 阅读全文
摘要: WCF成功的一个重要原因在于它简单易用的编程模型。用户不用关心分布式应用的底层细节,仅仅通过定义一些ABC再设置一些特性(Attribute)就可以很方便的完成服务的开发与发布。但是当你在为你的服务类或方法添加一些诸如OperationContractAttribute与SeriveBehaviorAttribute等特性的时候,你有没有想过WCF框架最终是如何处理他们的?为什么仅仅通过一些特性的... 阅读全文
摘要: Practical .Net2 and C#2: Harness the Platform, the Language, the Framework (Paperback) by Patrick Smacchia (34 customer reviews) Translated by Shi fan, Xu ning,Tan yinghua,Li yonglun Most Helpful Cus... 阅读全文
摘要: 在本系列的文章中将介绍.NET Remoting框架实现远程调用的基本原理,以及如何对其加以扩展。Remoting基本原理及其扩展机制(上)Remoting基本原理及其扩展机制(中)Remoting基本原理及其扩展机制(下)参考资料:《Advanced Remoting》《Pattern oriented software architecture vol1》《Remoting Patterns》... 阅读全文
摘要: 自从有了软件开发以来,消除重复,提高软件的重用性就一直是我们所追求的一个重要目标,本文将围绕着这一主题,带大家重走一遍结构化(SA)、面向对象(OO)与设计模式(Design Pattern)、组建化(Component)、面向方面(AOP)直至面向服务(SOA)这条软件开发技术的发展之路。让我从“重用”这么一个简单甚至是片面的的角度让大家对这些出现在众多文章中的名词有一个... 阅读全文
摘要: 在接下去的几篇文章中,我将对分布式应用中的一些问题做一些介绍,希望通过这些介绍能够加深我们对分布式应用的了解,这些话题所讨论的内容可以说很基础,但是在进行分布式设计和开发中所必须深刻理解的。我们经常谈到所谓的企业级应用,那么什么样的程序才算是企业级的呢? 使用数据库,持久化技术,可以算是企业开发的一个明显特征,而需要用到分布式技术也可以算是企业级应用中的一个特征。分布式? 太高深,和我无关,哎你还... 阅读全文
摘要: 为了让SOA的应用能够更加的成熟,一些标准化组织(主要有W3C,OASIS)对Web Services的功能进行了扩展,为此制定了一系列的WS-*规范。通过这些规范,使得Web Services在实际应用中的能力得到了很大的增强,这些能力主要体现在对服务质量的保障上,例如安全,可靠性,事务等等。其中,WS-Addressing规范作为一个基础,为其余的规范提供了重要的支持功能,因此有必要在了解其他... 阅读全文
摘要: 本系列将介绍有关Web Services 安全有关的内容,其中涉及技术: XML Signature,XML Encryption和SAML,WS-Security,WS-Trust等等。在本系列的文章中将主要关注其原理,以及个人对相关技术的理解。在MS不断更新的WSE系列中,安全可以算是其中的重要内容,如果可能将结合原理用WSE做一些技术实践。Web Services Security --- ... 阅读全文
摘要: Introduce dotLucene 系列一 --- 一个小例子 Index dotLucene 系列二 --- index 上 dotLucene 系列三 --- index 中 dotLucene 系列四 --- index 下 Search dotLucene 系列五 --- search 上 dotLucene 系列五 --- search 下 Analyse ... 本地链接测试代码下... 阅读全文
摘要: Visitor Pattern本来应该是什么样?什么是Double-Dispatch?为什么Visitor Pattern 需要使用Double-Dispatch. 不使用Double-Dispatch能实现Visitor Pattern吗?本文将进一步解读<<Design Pattern>>中的Visitor 模式。详细内容 阅读全文
摘要: 从一个遗留问题谈起, 涉及技术(oo, dynamic proxy, duck type, template) 阅读全文
摘要: 以一些代码片段和个人的理解对LINQ的介绍:(我更愿意叫它LINQ,而不是Orcas, 因为它可能根本不是Orcas,而是.Net2.1)主要内容包括: Implicitly typed local variables Extension methods Lambda Expressions Object and Collection initializers Anonymous types Qu... 阅读全文
摘要: TDD这个概念出现至少也有两年多了, 在大家刚接触它时候, 几乎没人不拍手鼓掌, 测试驱动的概念确实可以为我们带来很多的好处. 泡泡在前不久写了一篇很不错的TDD的文章, 可是我还是忍不住在他的评论中说到这篇文章有点”老”. 确实,同样的概念在书中, 在大家的口中已经被说烂了. 但是TDD真正给我们带来什么呢? 有多少人在用TDD呢? 为什么这么好的技术到了应用中就被人们&... 阅读全文
摘要: 在前不久发布的”质疑国内.Net社区”的随笔中, 我个人算是对社区的力量抱怨了一把. 下面该有些实际行动来推动社区的发展, 其实在写那篇随笔的时候正在总结一些心得, 现在我把它发表出来供大家讨论,也算是带个好头,希望能起到抛砖引玉的作用. 在阅读此文之前推荐阅读O/R Mapping 基本概念,在基本概念上达成共识. Enterprise Persistence Desig... 阅读全文
摘要: .Net的新功能: 泛型,匿名方法,新的迭代器 这些功能都是与集合的应用紧密相关的,希望以后能有新的发现,将这个系列完善.欢迎提出你的看法 .Net2.0的集合操作 --- What i know? .Net2.0的集合操作 --- What i hope? .Net2.0的集合操作 --- What i forgot? CollectionClosureMethod in .NetArray &... 阅读全文
摘要: 看着大家都把beta2装上了, 下面这篇文章可以让你快速了解有关VSTS的全面知识. VSTS OverView 译自Msdn Magazine 3 2005 阅读全文
摘要: 如题 http://www.cnblogs.com/idior/articles/100666.html 阅读全文
摘要: 从责任分离的角度看待当前的技术 http://www.cnblogs.com/idior/articles/108291.html 阅读全文
摘要: 本文是篇译文(原文在devx),对于想初步了解webservice的朋友可能有些帮助。Webservice 作为一项新的技术出现在我们面前,它的出世是用于解决在不同的平台下的应用的协同的。目前几乎每家厂商都要去开发Webservice 应用,然而如果缺乏对Webservice更深的了解,不能很好的在设计阶段处理好一些重要的问题,那么最终完成的系统必然是效率低下,没有可靠性的产品。 在设计Webse... 阅读全文
2008年10月19日
摘要: Princeton Financial SystemsSenior Software Engineer SeveralJob Description:Reverse Engineer the current system, which is a huge portfolio accounting and management application with tens of million lin... 阅读全文
2007年11月25日
摘要: WCF成功的一个重要原因在于它简单易用的编程模型。用户不用关心分布式应用的底层细节,仅仅通过定义一些ABC再设置一些特性(Attribute)就可以很方便的完成服务的开发与发布。但是当你在为你的服务类或方法添加一些诸如OperationContractAttribute与SeriveBehaviorAttribute等特性的时候,你有没有想过WCF框架最终是如何处理他们的?为什么仅仅通过一些特性的... 阅读全文
2007年9月22日
2007年9月7日
摘要: 明天在上海的MVP聚会,不知道园子里有多少朋友会去?有机会大家见个面吧,请准备参加的朋友留个联系方式,如邮件,blog地址。 阅读全文
2007年8月28日
摘要: Practical .Net2 and C#2: Harness the Platform, the Language, the Framework (Paperback) by Patrick Smacchia (34 customer reviews) Translated by Shi fan, Xu ning,Tan yinghua,Li yonglun Most Helpful Cus... 阅读全文
2007年7月6日
摘要: 今天看了IT界的悲哀--做互联网,就要跳出互联网回想起以前的一些感受,忍不住到首页上抱怨一把。为什么在国内,能够赚钱的点子大多是些作恶的电子呢?恶心的脑白金,害人的网游,垃圾的3721,骗人的科研项目。天哪,为什么随便能想到的一些国内比较赚钱的项目大多是作恶的呢?我承认那些人很有商业头脑,很牛,不过除了比较羡慕他们赚到的money之外,我对这些人是坚决鄙视的。你赚钱无可后非,为啥总是靠这些恶心的事... 阅读全文
2007年7月2日
摘要: 自从开始忙着毕业答辩以后,就很少更新blog了,四月份的时候在dudu的推荐下,申请了七月份的MVP,今天终于收到了MS的邮件,也算是一份让我十分开心的大礼了。 这段时间刚刚在公司入职,MVP的奖励算是对我的blog生涯的一个非常好的总结了。后面的时间将主要集中在本职工作中,并希望在.NET领域有更加深入的研究。 虽然在最近的这段时间更新blog的频率会大大降低,但是我也会通过翻译一些.NET书籍... 阅读全文
2007年3月6日
摘要: 在本系列的文章中将介绍.NET Remoting框架实现远程调用的基本原理,以及如何对其加以扩展。Remoting基本原理及其扩展机制(上)Remoting基本原理及其扩展机制(中)Remoting基本原理及其扩展机制(下)参考资料:《Advanced Remoting》《Pattern oriented software architecture vol1》《Remoting Patterns》... 阅读全文
2007年1月29日
摘要: 现有一本英文书需要找人(2-4人)翻译,书名为Microsoft Visual Studio 2005 Unleashed是Sams公司的Unleashed系列图书之一,全书840多页,希望在5月底完成。相关链接如下:http://www.amazon.com/Microsoft-Visual-Studio-2005-Unleashed/dp/0672328194/sr=8-1/qid=11695... 阅读全文
2006年12月29日
摘要: 自从有了软件开发以来,消除重复,提高软件的重用性就一直是我们所追求的一个重要目标,本文将围绕着这一主题,带大家重走一遍结构化(SA)、面向对象(OO)与设计模式(Design Pattern)、组建化(Component)、面向方面(AOP)直至面向服务(SOA)这条软件开发技术的发展之路。让我从“重用”这么一个简单甚至是片面的的角度让大家对这些出现在众多文章中的名词有一个... 阅读全文
2006年10月24日
摘要: 今天在博客园出书团队的Team Meeting上,大家谈到了翻译出书的事情,也就萌生了组建一个译书团队的念头。该团队的主要任务是翻译国外出版的与.NET相关的优秀书籍。大致的流程是这样的:我们策划想翻译的书,然后联系出版设,出版社方面评估市场前景,如果确认有市场,就由版权部门去申请翻译版权,如果拿到版权我们就可以进行翻译。现在博客园已经和电子工业出版社的博文视点公司建立联系。 在Team Meet... 阅读全文
2006年10月21日
摘要: 个人最近正在翻译一本书,其中涉及到以下内容:生成、部署和配置.NET应用程序进程、线程与同步反射,后期绑定,Attribute.NET与本机代码,COM,COM+的互操作如果你对此有兴趣并且有一定的英文或技术背景,可以与我联系,我可以把相应的内容share给你,也请你帮我校正一下我的翻译内容。BTW. I'm still looking for a job...Have a look atmy r... 阅读全文
2006年9月11日
摘要: ^ MS have already made anextends. * Custom WSE-specific serialization, not compatible with WCF.** Need to be aware what feature to use; no proactive checks for conformance. 阅读全文
2006年8月15日
摘要: 本文通过一个实例比较了在Enterprise Library中的ObjectBuild和Castle中WindsorContainer这两个Ioc/DI框架的使用方式。 阅读全文
2006年7月14日
摘要: Something i Want如果你经常重构的话,那么你会发现Extract Method是一个常用的方法,并且随着你不断的Extract Method,渐渐的你的代码种就会浮现出Template Method模式。以下就是一个Template Method的示例abstract class CheckBackground{ protected abstract void CheckBank()... 阅读全文
2006年6月7日
摘要: O/R M一个相当常见的概念,不过也是一个被很多人误解的概念。O/R M据我所知是从Java社区产生的,而到了.Net社区它的意味就完全变了。首先让我们来看看为什么是O/R M而不是R/O M?其实之所以很多人没有理解O/R M的含义就是因为没有充分的考虑上面这个问题。以O为主还是以R为主?你是从面向对象的角度分析考虑问题还是从关系的角度分析考虑问题。从面向对象的角度考虑问题,意味着你可以使用封装... 阅读全文
2006年5月24日
摘要: 在你的分布式应用中,是否常常需要有一个协调者来协调你的活动。如果你有这个需求,那么你可以考虑利用WS-Coordination规范来实现你的协调框架。该规范同时是在Web Services环境中实现业务过程事务性的基础,如果你对此感兴趣,请阅读本文。注: WCF中已经实现了该规范,甚至实现了WS-AtomicTransaction规范,即原子性事务。另外对于SOA有兴趣的朋友最近可以关注一下MS的... 阅读全文
2006年5月5日
摘要: 在去年8月份我曾经写过两篇介绍RhinoMock的文章,最近有人在评论中指出在文章介绍的Mock对象的创建方式在新版本的RhinoMock中不再支持。由于我最近一直没有使用RhinoMock,于是我特地去查了一下有关资料,发现卢彦在去年12月份写的一篇文章中同样出现了这个问题,我赶紧到RhinoMock的讨论组查了一下资料,发现我之前的使用方法确实出了问题,该方法被Ayende cut掉了。为了避... 阅读全文
2006年3月20日
摘要: Kerberos协议:Kerberos协议主要用于计算机网络的身份鉴别(Authentication), 其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据(ticket-granting ticket)访问多个服务,即SSO(Single Sign On)。由于在每个Client和Service之间建立了共享密钥,使得该协议具有相当的安全性。条件先来看看Kerberos协议的前提条件... 阅读全文
2006年2月5日
摘要: 刚刚看了小陆的我对系统重构的理解有些想法,就随便激扬一下文字,谈谈自己对重构的片面理解。 Tip 不要当你需要新的功能的时候,或者原来的程序出了Bug,你才想起重构。 什么时候开始重构?这是首先需要考虑的问题。一个功能没有完成就开始重构吗?不是。所有功能都完成开始重构吗?更不是。重构是一项贯穿我们程序开发的工作,当一个功能完成(能够正常工作,通过单元测试)的时候就应该开始重构。既然都通过测试了,... 阅读全文
2006年2月3日
摘要: 1: Override VS. Overload 多态可以说是面向对象世界中一件锋利的武器, 封装变化是它的能力的体现。但是你听说过几种多态?Simple Polymorphism :the object whose method is called is decided run-time. multi- polymorphism :the object which method is calle... 阅读全文
2006年1月21日
摘要: 或许你在一些国外的Blog上看到过REST这个词,下面用一个很简单的例子说明一下REST的定义.以浏览网页为例, 当你要查看某个网页的时候, 你需要在浏览器上输入该网页的URL. 当你发出对idior.cnblogs.com这个资源的请求后, 一个该资源的表现形式(Representation)将返回给你, 也就是idior.cnblogs.com相应的html文件. 这时候你就进入一个状态(St... 阅读全文
2006年1月14日
摘要: Document Exchange or Remote Procedure Call?
文中的问题我没有在任何一片文章或书中看到有人提过, 在google上也未有任何说明, 难道这是一个最基本的问题? 大家都知道了吗? 阅读全文
2005年10月10日
摘要: 近日在园子里频繁出现的一些有关AOP文章,相信有不少人对此产生了一些兴趣。 不过从文章的评论中看出有些朋友还是对AOP不知所谓,对文章出现的各种术语不得其解,可能更多的希望看到更简单生动的介绍。下面我就试着用最简单的语言来谈谈我对Aop的一点小小的理解,不需要你对面向对象很了解,更不需要你了解所谓的设计模式.为什么我们需要函数(结构化编程)? --- 为了消除重复为什么我们需要类(面向对象)? -... 阅读全文
2005年9月18日
摘要: Windbey中为了增强对集合的访问能力, MS设计了List<T>这么一个泛型集合, 其中有不少的增强功能,比如Foreach,ConvertAll,FindAll等等,并且为了方便使用MS在System名空间下引入了一些特制的Delegate.主要包括以下几个:20public delegate void Action<T>(T obj); //Used by ForE... 阅读全文
2005年9月14日
摘要: MSDN有关.Net平台未来新增功能的介绍.网址链接 阅读全文
2005年9月4日
摘要: 最近大家在园子可能看到了不少有关Aop的文章, 也许尚有很多人不知AOP为何物, 或许有人认为AOP就是方法拦截. 不管你现在对AOP的认识如何, 希望在本系列的文章中和我共同加深对AOP的理解. 渐渐地你会发现编程的思想已经开始有了新的变化...如果你不知道什么是AOP, 那么你听说过Design Pattern吗? 如果你觉得DP很神奇, 那么我告诉你AOP将改变DP的样子.如果你不知道什么是... 阅读全文
2005年8月18日
摘要: 在很多场合下, 你需要在主(UI)线程中运行一些比较耗时间的任务,比如以下的任务 l Image downloadsl Web service invocationsl File downloads and uploads (including for peer-to-peer applications)l Complex local computationsl Database transact... 阅读全文
摘要: 通过和吕震宇和wayfarer对Visitor模式的讨论,加深了对Visitor模式的理解. 整个学习过程如下, 希望对想了解Visitor模式的朋友有所帮助.同时感谢博客园提供的良好学习环境. 介绍 存在的问题 不可爱的Visitor 如何让Visitor变的可爱1 如何让Visitor变的可爱2 关于双重分派 Double-Dispatch and Visitor Pattern 阅读全文
2005年8月15日
摘要: 在谈具体实现前 先介绍一下三种事务:1. 单对象单资源2. 多对象单资源3. 多对象多资源(分布式事务, 使用两段提交协议)在ADO.Net1.0下有两种使用Transaction的方法. 一种是在需要事务的对象中显式的调用事务处理, 还有一种是使用Enterprise Service的声明式的方法.第一种方法的示例代码如下: publicvoidTransactionTest(){stringc... 阅读全文
2005年8月8日
摘要: 本文将介绍一款在.Net平台下的Mock工具---Rhino Mocks 2,以及相关Mock工具的一些比较.在了解到Rhino Mocks 2之前我也接触了一些其他的Mock工具, 比如EasyMock,JMock,NMock, NMock2,不过最终还是选择了Rhino Mocks 2, 相信你在看完本文的介绍后会和我做出同样的选择。(注: 本文不是Mock工具的入门文章,如果你之前尚未接触了... 阅读全文
摘要: 让我们从一个计算工资的老例子说起. 不同的员工有各种不同的工资计算方法, 这种情况下如何为全公司的员工计算呢? 想想现实中的情况, 在公司可能有一个会计部,每到发薪的日子. 会计部就会把全公司的员工资料集中到一起, 看看张三是什么类型的员工, 如果是小时工就按小时工来计算,如果是办公室主任就按主任的方法来计算. 基于这样的考虑, 我们在建模的时候也会相应的建立一个类似于会计部的类, 其中定义了一个... 阅读全文
2005年8月6日
摘要: Include Only the Primary Key Columns, last in winInclude All Columns in the WHERE ClauseInclude the Primary Key and Timestamp Columns(Recommended)4. Include the Primary Key Columns and Modified Column... 阅读全文
2005年8月2日
摘要: Martin Fowler昨天发布了一篇有关Collection Closure的文章, 文中以Ruby为例展示了Collection Closure的强大,方便. 对照着他的例子, Demo了一下在C#中如何实现类似的功能.Example 1employees.each do |e| e.doSomething end31 employees.ForEach(delegate(Employee ... 阅读全文
2005年7月29日
摘要: 当单元测试需要对数据库执行CRUD(Create,Retrieve,Update,Delete)操作时,测试过后会在我们的数据库中留下大量重复的垃圾数据,这些垃圾很碍眼不是吗?而且我们的下一个测试有可能因为这些垃圾产生一些错误。那么我们要如何处理这些垃圾数据和保证测试的稳定的呢?显然,我们需要在每次测试之前和测试完成之后让数据库都保持相同的状态。换句话说,就是我们需要"undo"这些在测试中对数据... 阅读全文
2005年7月25日
摘要: 如果你想为一个线程传入变量你怎么办? ThreadStart可不支持带参数的方法.所以你无法使用Thread来启动一个带参数的方法.. ThreadStartmyThreadDelegate=newThreadStart(ThreadMethod);//publicdelegatevoidThreadStart();ucan'tpassaParameterThreadmyThread=newThr... 阅读全文
2005年7月20日
摘要: 任何事情如果有先行之人对你加以指引, 那么对你无疑将起到巨大的作用,而且这种作用往往不是以+的方式,而是*的方式推动你的前进. 在学习面向对象,模式以及设计的路上, 如果你有兴趣,希望我能给你一点指引. 我不知道大家上班以后是否还读书,又或者每个月读几本书. 不管怎样, 我还是强烈建议你每个月去读一本书(不一定要读完). 在有了项目经验的情况下, 读书会让你有更快的提高速度. 下面是我的推荐书目:... 阅读全文
2005年7月15日
摘要: 在cnblogs已经住了很久了, 窃以为这里是国内最好的.Net社区(博客堂由于某些原因排除在外,如果你还知道更好的请告知一二). 不过经过观察发现这里最受欢迎,最受关注的是关于控件以及象本文这样和技术关系不是太大而在非技术上很有争议的随笔.(理由是该随笔的阅读量和评论量,尤其是评论量) 在alphatom阅读量评论量最高的文章也是一篇关于asp.net视频聊天控件的. 这个结论既让人想不到,也在... 阅读全文
2005年7月8日
摘要: 面向对象技术已经达到它的顶峰, 在新的技术到来之前, 对已有技术的反思无可避免.最近正在阅读<<Software Factory>>,其中不乏一些精彩的观点, 结合自己的体会写了下文.在此希望大家也发表一些个人观点, 一起思考一下.http://idior.cnblogs.com/articles/188936.html 阅读全文
2005年7月4日
摘要: 近日 有关o/r m的讨论突然多了起来. 在这里觉得有必要澄清一些概念, 免的大家讨论来讨论去, 才发现最根本的理解有问题.本文并不保证所有观点正确, 只是个人在某一特定时期的理解.1. 何谓Entity?实体(类似于j2ee中的Entity Bean)通常指一个承载数据的对象, 但是注意它也是可以有行为的! 只不过它的行为一般只操作自身的数据. 比如下面这个例子:classPerson{stri... 阅读全文
|