看了这么多讨论面向对象和面向数据库设计的讨论,这里也发表一些自己的理解。
面向数据库进行系统设计时,首先考虑的是数据库、表如何设计。在做需求调研阶段,向客户了解业务需求时,就忍不住的在脑海里构思库表结构。以后的思路便一直围绕着这些库表展开。根据数据表生成VO,再由VO衍生出对它们进行操作的业务类。说到底,所有的一切,都是为了操作数据库。
面向对象设计系统时,一切围绕对象,需求最先转化为业务类,之后的一切操作都应该面向这些类产生的对象,数据库在这些过程中起到辅助作用,用来存放需要持久化的数据。
所以,面向数据库中存在对象,面向对象同时需要数据库,这两种设计方式的最大区别在于谁是核心,数据还是对象。
数据,由于它本身的流动性,决定了面向数据设计模式的过程性增强,面向数据库的设计大大弱化了对象的优势。而数据是做为对象的属性存在的,采用面向对象设计能充分发挥对象的优势,也更符合人类的思维方式。
一些浅显的认识,权当抛砖引玉。