自己动手打造ORM(一)

来源:互联网 发布:2016手机记账软件排行 编辑:程序博客网 时间:2024/05/04 11:36

为什么要重复发明轮子?Hibernate,IBatis等等已经很成熟的框架还不够吗?

我的看法,一是这些ORM框架过于复杂了,虽然很多是号称轻量级的,但面对一大堆配置,一大堆类库,一大堆提出的概念,或许你会想,这就是我要的ORM吗?也许大部分只是需要SQL和对象之间方便的转化。二是ORM框架会强加给你很多东西,比如LazyLoad、缓存、事务,这些是有用,但是未必是你想要的,这对于设计是很不利的。

用我喜欢的一句话说,"Simple is best"。我所希望的ORM只是一个简单的SQL和对象转化的小工具,它的作用仅仅是提高工作效率、减少重复劳动而已,我不希望ORM框架替我设计、做决定。

好了,废话说完,总的意思就是别人的轮子虽好,但不一定适合我们。当别人的东西不好用的时候,自己动手丰衣足食是最好的办法,写一个简单的ORM并不是什么深奥的技术,而且对自己对于OO的理解有很多好处。

我按自己的思路写了一个ORM,在经过几次重构后算是基本完成了。为什么没有完全的完成,是因为每个人对ORM的要求不尽相同,而要满足所有的要求只会是越来越复杂,永远也不可能真正的完成。如果要增加一些复杂的需求的话,要在理解了设计的思路后,按照自己的需要稍加修改。

代码比较多,而且还会经常改动,我在CodePlex上建了个工程MyOrm,可以到CodePlex下载最新的代码。之后会简单介绍几个使用的例子。

 

自己动手打造ORM(二) —元数据

自己动手打造ORM(三) —自定义Attribute

自己动手打造ORM(四) —需求

自己动手打造ORM(五) —实现

代码和示例下载

 

原创粉丝点击