启发性的观点

1. 对象与关系数据库

 

对象和关系数据库存在着天然的矛盾(天然阻抗)。

首先,一个完整的对象到了DAO层却要被拆解成一个个参数,组装到SQL语句中。两个世界间的不一致导致了大量的翻译工作,使DAO层代码变得不够OO。其次,对象和关系数据库的不匹配还表现在关系数据库难以实现对象世界中的继承关系。在关系数据库中,需要用两张表来表示两个对象,然后通过表外键来建立两张表1:N关系,关键问题是:这个外键一般是设计在子表中,这就造成语义上的误解。

如果我们使用ODBMS或ORM框架,就不必做这些费力的翻译转换,也不再绕着弯子编程,直接就能够获得一个真正意义上的对象。不管使用何种语言和数据库,都要坚持OO思想和方法,从程序中杜绝关系数据库对软件的影响,将关系数据库只看成是活动对象的“冬眠”(英文Hibernate)地方,这也就是ORM框架Hibernate的本义所在。

 

2. 博大精深的软件世界

 

“谈谈计算机的发展,本质上高度抽象的,将现实世界中的事物最终抽象为0和1,怎么去抽象呢?方法就是去编程,从开始的机器语言逐渐发展为汇编语言然后更加高级一点的C语言出现了,到此编程其实已经变的非常简单了,可以用比较容易理解的语言和计算机进行沟通,更多的事情交给了编译器,然后就产生了更高级的语言更加接近于现实思维的语言,如:Java,C#等。走到这一步其实很多的工作都已经交给了虚拟器去做,而虚拟器是什么开发呢?C语言,这样编程就变的更加的简单了,以至于各种各样的培训机构如雨后春笋一般的出现,因为少了很多抽象的思维编程变的更加的简单,编码的成本下来了,那什么上去了呢?对于硬件的成本上去了。其实这和编码的道理是一样的,底层做的工作越多,上次做的工作必定越少,随之而来的就是大量的封装,转换必然会对硬件开销的增加。”

软件开发宏观上是架构设计的艺术,微观上是算法的艺术。

 

引自:

对象与关系数据库的天然阻抗 http://www.jdon.com/mda/oo-reltaion2.html

我对软件架构的一些看法和思考 http://www.jdon.com/jivejdon/thread/38643

发布了347 篇原创文章 · 获赞 1615 · 访问量 406万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览