ZT浅浅谈面向对象设计
很同意其中的观点,ZT一下,原始url:http://hi.baidu.com/44498/blog/item/168ae8b3ede6e2acd8335ace.html
既然谈了面向对象,就不得不提起面向过程的程序设计。
直到今天,很多小作坊也在采用这样的开发方式。
最为典型的,就是先建立数据库表结构,然后开始封装,接着设计类,写代码。。。
很多童鞋还认为这就是面向对象的开发模式。。。
这根本就不是面向对象。
尽管很多人大吼:我们JAVA(or C#)是纯OO的!
【语言是纯OO的,但是你没有OO的能力,没用。COM还是纯组件的呢,你行吗?】
在这种老式的开发中,一旦任何一个地方有了需求变更,
立马就得推倒重来,或者从头到尾大动手术。
杯具
------------------------------
这样的做法,其实是混淆了两个领域的问题,非常容易让人走进误区。
面向对象的职责在于解决业务逻辑上的设计问题。
数据库解决的是存储和效率的问题。
当你采用面向对象设计的时候,首先需要忘记数据库,要专注于对象的分析和设计,
只有当对象的业务逻辑能够完成的时候,才能去考虑对象数据持久化的问题。
而ORM,就是维系这个关系的纽带,负责分离整个系统中数据和展现。
-------------------------------
如果没有弄清楚职责所在,哪怕你的工程里分了100层,那还是面向过程,尽管你把你所知道的名词和技术都套进去了。
这就是思想上的差距。