這幾天寫程序。突然想起一個問題。我到底是在寫面向對象的程序還是面向數據的程序。這個程序的整體設計上從數據庫開始的。可以說從數據庫設計完成的那一刻程序就已經定型了。DAO層,BIZ業務層,ACTION表現層。我不厭其煩地寫著。突然想起了以前學JAVA的 情景。跟現在完全是兩回事。那寫程序是否需要面向對象呢。面向對象的 意義在哪?
到現在為止。我寫的很多程序都是從數據庫開始設計。導致程序過于面向數據。以數據為中心。而不是對象了。或許有人會說就是以對象為中心 。但是別忘了。我們在剛學 JAVA的時候學的那些。一切皆對象。現在的設計。打個比方。如果有一個Order(訂單 )類型的。下訂單的時候訂單狀態為“新創建”,然后收到貨款就是“已確認”。。等等狀態 。按照我現在的程序框架寫的話就是把轉換狀態的代碼寫在Biz業務里去。因為這些是業務的 一部分 。但是事實上,這些本該是Order所應該具有的行為,一張訂單。可以改變自身的狀態,在是符合面向對象的設計的。任何對象都有行為及其屬性,而現在人們用的 Hibernate映射把Entity映射成無行為的對象。我不敢說它錯了。但是至少這樣會使人們不知不覺吧行為放在另一個對象中 。而這就是所謂的數據訪問對象 。說到底。還是以數據為中心的思想根深蒂固。從學J2EE的那一刻起,我就被不斷地傳輸這分層的概念,把數據訪問和業務流程分開成了每天都必修課,但是其實只要做有什么好處呢。除了使代碼更加冗余。人們不斷地強調可維護。可擴展。但是面向對象的設計不久是更容易理解嗎。更容易理解的東西比任何多余的其他動作更容易擴展。
我知道我的想法還不成熟。分層開發有它的好處所在。比如協作開發。更好的可測試性。更好的延展性。但是其實面向對象與分層開發并不矛盾。MVC。經典的分層模式,其M層并不是被定義成數據訪問層。所以在M層有很多可挖掘的面向對象的思想。C作為翻譯。V展現出對象的狀態。
這次設計很失敗 。哈哈 。不過要以此為鑒。不斷提高。。我知道我說的不全是對的。也可能全是錯的。。誠心向各位請教 。
致謝。。
分享到:
相关推荐
数据结构与算法--面向对象的C++设计 数据结构与算法--面向对象的C++设计 数据结构与算法--面向对象的C++设计 数据结构与算法--面向对象的C++设计 数据结构与算法--面向对象的C++设计 数据结构与算法--面向对象的C++...
面向对象的用电信息数据交换协议,面向对象的用电信息数据交换协议(698)
《Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念和原则。, 《Python 3面向对象编程》不是Python 的入门书籍,适合...
面向对象数据结构与软件开发 Java版 有人感兴趣吗
面向对象的简、由类创建一个对象的方法、类的编写与对象的创建、类的构造函数、类的方法、修饰符、Java中的封装/继承/多态等特征、Java中的线程、用Java创建一个小世界、多线程共享数据,以及面向对象中的各种设计...
《面向对象分析与设计(第3版)》是UML创始人Grady Booch的代表作之一,书中介绍的概念都基于牢固的理论基础。同时,《面向对象分析与设计(第3版)》又是一本注重实效的书,面向架构师和软件开发者等软件工程实践者的...
数据结构(用面向对象方法与C++语言描述)(第2版)作者: 殷人昆 课后详细答案 数据结构(用面向对象方法与C++语言描述)(第2版)作者: 殷人昆 课后详细答案
学习数据结构的课件 数据结构 用于面向对象方法与c++语言描述 第二版
面向对象程序设计KNN实验数据集.zip面向对象程序设计KNN实验数据集.zip面向对象程序设计KNN实验数据集.zip面向对象程序设计KNN实验数据集.zip面向对象程序设计KNN实验数据集.zip面向对象程序设计KNN实验数据集.zip...
带目录,完整版国网698面向对象规约文档。 面向对象的用电信息数据交换协议 面向对象的用电信息数据交换协议 面向对象的用电信息数据交换协议
殷人昆:数据结构(用面向对象方法和C++描述)答案殷人昆:数据结构(用面向对象方法和C++描述)答案
Java数据结构与面向对象编程基础
Java面向对象程序设计教程PDF,完整的面向对象编程指南,大量习题便于自学。
数据结构(用面向对象方法和C++描述)殷人昆 数据结构(用面向对象方法和C++描述)殷人昆 数据结构(用面向对象方法和C++描述)殷人昆 数据结构(用面向对象方法和C++描述)殷人昆 数据结构(用面向对象方法和C++...
学过面向对象编程,与C++
5-第五章:面向对象的数据模型和对象关系数据模型.pdf
面向对象空间数据模型构建研究,王珂,佘江峰,空间数据模型是GIS应用的关键和基础,其研究影响了整个GIS发展的历程。本文根据面向对象空间数据模型的相关概念和特点,提出了面向
《Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念和原则。 《Python 3面向对象编程》不是Python 的入门书籍,适合...
面向对象和面向过程的区别