這些天在細看《J2EE Development without EJB》書,感受頗多。說起來做J2EE方面開發也有幾年,自己認為自己還是有一定實力的。但是看完以后,再針對我們項目的開發感覺很多地方做的確實有很多問題。因為一直都這樣做,沒有人提出異議。悶著頭做事情,有時候確實不好,要交流,特別是要傾聽那些經驗豐富的前輩的教誨。
OO,接觸開發也這么多年了,確實很少有項目,真正做到OO的。看看我們的項目,POJO做成偽對象,只是負責了值的傳遞,只有可憐的setter和getter,其中沒有任何業務邏輯操作的代碼(沒有任何行為)。我們所謂的業務邏輯是引入一個Manager進行綜合處理。
1年前,也是看了jPetStore收益很多。今天再次看這個代碼。又引發了更多的思考。
先看jPetstore的處理:
在org.springframework.sample.jpetstore包中:
Account類:比較簡單,普通的JavaBean。
Cart類和CarItem類:從關系模型中,可以看到這是一個主從關系的對象。其中Cart(購物車)中有不少行為。例如:新增、刪除購物車項目;計算總金額。一般來說,我們項目中一般這樣的邏輯是寫在Manager類中的。
在Order類中,也采用一些業務行為,例如初始化訂單等等。