ZT浅浅谈面向对象设计

很同意其中的观点,ZT一下,原始url:http://hi.baidu.com/44498/blog/item/168ae8b3ede6e2acd8335ace.html

既然谈了面向对象,就不得不提起面向过程的程序设计。

直到今天,很多小作坊也在采用这样的开发方式。

最为典型的,就是先建立数据库表结构,然后开始封装,接着设计类,写代码。。。

很多童鞋还认为这就是面向对象的开发模式。。。

这根本就不是面向对象

尽管很多人大吼:我们JAVA(or C#)是纯OO的!

【语言是纯OO的,但是你没有OO的能力,没用。COM还是纯组件的呢,你行吗?】

在这种老式的开发中,一旦任何一个地方有了需求变更,

立马就得推倒重来,或者从头到尾大动手术。

杯具

------------------------------

这样的做法,其实是混淆了两个领域的问题,非常容易让人走进误区。

面向对象的职责在于解决业务逻辑上的设计问题。

数据库解决的是存储和效率的问题。

当你采用面向对象设计的时候,首先需要忘记数据库,要专注于对象的分析和设计,

只有当对象的业务逻辑能够完成的时候,才能去考虑对象数据持久化的问题。

而ORM,就是维系这个关系的纽带,负责分离整个系统中数据和展现。

-------------------------------

如果没有弄清楚职责所在,哪怕你的工程里分了100层,那还是面向过程,尽管你把你所知道的名词和技术都套进去了。

这就是思想上的差距。

posted @ 2010-12-01 22:54  小刀阿九  阅读(283)  评论(1编辑  收藏  举报