摘要:
.net中的委托—事件机制: 办公室的故事
chris sells 著 ( <<atl internals>>一书作者之一,该书是atl编程的宝典)
jackeygou 译 研发中心
软件技术的动人美感来源于对现实世界的真实理解. 一— 译注
===========================================
强类型耦合
-----......
摘要:
oo,oo以后,及其极限(5)
5. oo之后是什么?
通过上节的讨论我们了解了维特根斯坦在《逻辑哲学论》一书中提出的oo的思想。即存在如下的认识链: 世界 → 事实 → 原子事实 → 对象(object)。本节我们讨论oo之后是什么这个问题。我们将从历史的和逻辑的角度来进行推理,看看能得出什么样的结论。
一、 从软件工程的发展历史来看
1969年na......
使.NET应用程序开发标准化2(转)
一旦你得到了适当的安全组件,你就做好准备研究你的数据访问方法了.人们在这方面常犯的错误就是在显示层开发所有的东西,包括你的商业逻辑与数据访问组件.这种开发就导致了很难维护的像意大利面条一样的代码(见资源).它也使改变数据库的计划或者改变到一个全新的数据库变得很难.很昂贵,因为你必须找到散布在你的应用程序中的所有的单独的数据访问调用指令.用四个层来构建你的企业级的应用程序——显示层.工作流层.商业层与数据访问层——可以使应用程序更容易维护.更具扩展性.
关于这个话题,我将重点讲述数据访问层.应用程序需要将数据访问层同商业对象明显分离开.你不想让sql语句散布在从显示层到商业层的所有代码中.这些层不需要知道数据是如何得到的,从哪里得到的.
microsoft包含两个新的对象——dataset与datareader——它们作为ado.net的一部分来分离各个层.dataset对象对于一个不连接的应用程序模式是很有用的,而datareader对象则用于连接的应用程序.然而,这些对象都有一个缺点:当你访问属性的值时,它们或者通过名字或者通过列号来查找.在通过列的名字访问数据的情况下,如果在这些名字中有一个typo,在编译时就不会被检测出来.当列名散布在你的代码中时,就很难在以后改变它们的名字了.如果你通过列号来访问数据,代码更难读,而且你需要知道列在dataset或datareader中出现的顺序.
运用strongly typed datasets
强类型(strongly typed) datasets解决了这个问题,但你不能总用dataset对象.当你运用dataset对象时,它把所有记录都读进内存中,在大量的应用程序中,服务器资源会用尽....
下一页 摘要:
4 《逻辑哲学论》中的oo
《逻辑哲学论》是维特根斯坦生前出版的唯一著作,也是他的成名之作。书中的观点反映了他前期的哲学思考,通常被冠以“逻辑原子论”的标签。 维特根斯坦在前期认为:传统的形而上学的混乱和困惑是由于误用语言所致;把哲学从“语言病”中解放出来,是哲学的重要任务。 他力图建立“经过语言分析的澄清活动”的本体论和认识论;维特根斯坦甚至宣称:哲学的唯一任务就是治疗其......