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