EJB和JAVABEAN

 EJB是指運行在EJB容器中的JavaBean。Tomcat是Web容器的參考實現。一個完整的JavaEE服務器應該包括Web容器和EJB容器。
其次,Web容器中無法運行EJB,同時所有的JavaBean都是在服務器端運行的。如果有在客戶端的話,就變成C/S結構了。
目前來說除非需要分佈式處理,不然基本上不需要考慮EJB。Spring能幫你處理好除分佈計算之外的一切。
用JavaScript來進行服務器調用的話,屬於Ajax的範圍了。
至於購物車。一般來說有幾種方法,一種是EJB中的有狀態SessionBean。一種是使用HttpSession保存。還有就是自己建設一個對象池來處理。

JavaBean是領域模型的具體化類,保存了信息和業務。只有set、get方法的JavaBean是失血模型。現在來說一般多少不太歡迎這種東西。把本屬於領域對象的業務邏輯都丟掉了。
實際上現在的JavaEE系統分這麼幾個層。
表現層(Struts、JSF等)+應用層(處理業務,可以是JavaBean也可以是EJB)+持久層(JDBC、Hibernate)。
不要在Struts的Action類中寫業務代碼,那是反模式。不然日後需要修改的時候很麻煩的。Action中只有流程指向和對應用層的調用。

領域模型分實體、值對象和服務三部分。一般實體裏寫業務代碼、值對象顯示、服務提供相對獨立的業務。失血模型指一個對象中除了get和set方法外沒有任何方法的類。現在不太推薦。addobject(objece **),delete(object **)...之類的方法就是業務。這些業務封進去後,失血模型就變成了缺血模型。充血模型把持久化服務等也包了,所以也不是很號。缺血比較推薦。
登錄等流程其實是服務。推薦你去看看DDD設計的書也就是《領域驅動設計》。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章