摘要:
看过博客园里几篇关于重构的文章,感觉都不怎么实在。下面我来谈谈自己的一次重构经历,希望对新人能有所帮助。ALinq 这个产品维护了将近五年的时间,最近对它进行了一次重构。为什么要重构?主要是为了适应业务的发展需要。产品是服务于业务,而重构是服务于产品,归根到底,重构是服务于业务。所以我一直强调,好的架构不是想出来的,而是做来的,经验积累下来的。很多时候业务的发展,往往会超出你出初的预期,所以在产品的前期想设计出一个完美的架构是不可能的事。这次的重构,出现了很多问题,一直陆续推出了好几个版本,才开始稳定下来,还好我的用户都是些忠实的用户,用ALinq好几年了,一直耐着性子,一个版本一个版本地安装 阅读全文
阅读排行榜
又见ORM跑分 —— 对ORM跑分的吐嘈
2013-06-09 00:26 by 麦舒, 2465 阅读, 收藏,
摘要:
又见ORM跑分了,说实在的,这个ORM的跑分有意义么?而且还围观者众,喜欢看热闹的人还真是不少呀。经常见到不少人,在吹某个ORM的性能如何、如何地好,然后再辅以几个单元测试的跑分来佐证,和咱天朝的山寨手机吹嘘性能好,价格便宜有何两样?甚至连山寨手机都比不上,起码山寨手机,还敢收钱!我们都知道,简衡量一个手机的好坏,不仅是性能,还包括屏幕、散热、做工、服务等等。同样,衡量一个ORM的好坏,不仅是性能。事实上,ORM的性能,对整个系统的影响是很小的,真正的大头是在IO那一块,并且差距是几何级别的。如果一个ORM不好使,需要多查了一次数据库,无论你如何去优化,算法如何出色,总体查询时间都要大于少查一 阅读全文
Visual Entity 1.7.0 发布(做最好的 NHibernate 设计器)
2011-08-09 11:28 by 麦舒, 2430 阅读, 收藏,
摘要:
Visual Entity 再次发布新版,同样,这次发布的版本主要是针对 NHibernate 的,如果是使用 NHibernate 的用户,强烈推荐升级。直接 点击这里 下载最新版本主要更新:1、支持更多的数据,主流的数据库基本上都支持了,其它没有支持的,主要是官方的 ADO.NET 对 VS 不支持。V1.7.0 支持的数据库有: SQL Server, SQL CE, Access, SQLite, Firebird, MySQL,Oracle2、支持 Linq to NHibernate3、修复多个小 BUGV 1.7.0 是一个重大的更新,之后的 1.x 版本主要放在修改 BUG 上 阅读全文
jsData 使用教程(八) 使用 TreeColumn 实现 TreeGrid
2010-07-19 11:46 by 麦舒, 2272 阅读, 收藏,
摘要:
TreeGrid 是企业级开发中,最为常用的一个控件。在 JData 中,可以使用 TreeColumn 来实现。如下图所示:但是在使用的时候,有一些要注意的地方。第一:表的结构必须为最为常用的自连接方式来实现树形的。 如 Northwind 数据库的 Employee 表。第二:数据量不能过大。使用 TreeColumn 需要一次性把所有数据加载到客户端。数据量过大则不适合使用。(万一数据量大呢?如何是好???)代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighte 阅读全文
Linq to SQL T4 代码生成器 (二)访问设计器中的 Table 对象
2010-07-23 09:34 by 麦舒, 2255 阅读, 收藏,
摘要:
在上一篇文章中,介绍了如何访问 DataContext 对象,下面接着来讲解一下如何访问设计器中的表对象,并生成生体类代码。从 Northwind 数据库中拖一个表到设计器中。拖出来后,记得保存 dbml 文件,否则是无法访问到这个表的。 在这里拖的是 Catories 表,如下图所示:我们可以通过访问 DataContext.Tables 来访拖放到设计器中的表。代码如下:[代码]现在再来看看关... 阅读全文