SSH是不是從物件導向的退化

mentat發表於2008-03-07
這幾天在看SSH(Struts+Spring+Hibernate),總覺得這種開發框架不是很符合物件導向的分析與設計。
bojo已經退化成很單純的一種資料結構struct,用來在三層間進行資料交換,不過是一種資料載體,說它是物件有點勉強;它沒有業務操作行為,只有對本身資料的getter與setter。
Service也成了一種API集合,不過是以物件的方式包裝的,並利用了物件的多型特性,可以透過IoC被Spring管理。
這基本上分離了行為與資料。
在分析與設計時,完全可以用面向資料流的方法來進行。
SSH中的系統開發,實際是透過Service對單個pojo或者一組pojo中的業務資料進行一系列業務操作來實現。這和我們以前直接透過sql語句運算元據集好象沒有什麼本質的區別,並且,不透過ORM,直接傳送Map/List/Vector這種與關聯式資料庫表結構一一對應的資料結構,效率上要高得多。

相關文章