有必要TO和對象進行分離嗎?為什麼要分離? 分離實現了數據與功能的分離
在傳遞數據時沒有必要傳遞功能接口
僅僅是數據的傳遞
為什麼要把功能接口暴露給web層?web層見到的只有數據
避免了的web層程序員的調用接口沖動
而實際上在web層調用是錯誤的
這個理解有問題
功能接口的控制可以通過訪問控制關鍵字來控制
比如只有包權限
但是TO和對象分離以後有重復的數據那為什麼不避免重復? 思路是TO只攜帶必須的數據
拋棄一切多余的數據
提高傳輸性能
有必要嗎?就那麼一點點性能
好像沒有必要
但是web層在構造數據的時候
他不可能傳遞也沒有必要傳遞id之外的任何數據
這很容易解決阿
讓id之外的數據空著好了
為什麼不讓業務對象繼承TO? 防止業務對象和TO耦合太緊
但是TO作為成員變量實際上也是一種緊耦合?
相對來講繼承的耦合性比成員變量的耦合性要強一些
比如我完全可以換掉成員變量
使用別的方式來保存數據
不對吧
你構造函數本來就使用了TO
這是一種強耦合
但是成員變量方式要寫大量的重復代碼
比如我要改變一個屬性的值
你就要提供set方法
他只是進行了傳遞
這是一種重復
這個問題我可以提供getTO方法
讓人調用
然後讓客戶使用TO的set方法
呵呵
這樣豈不是又讓耦合性增強了?我使用繼承的方式可以讓業務對象很容易的用於spring架構中
TO中的引用TO為什麼要數組? 這樣就不用類型轉換了阿
但是你在增加刪除等操作數據的時候豈不是很麻煩?使用數組只是在讀取的時候比較方便
而增加刪除的操作要頻繁得多
讀取的麻煩可以通過轉換為數組來簡化
List等轉換為數據並不難
而且業務對象可以直接使用這些List作為容器
不用再引入其他List做容器
避免了代碼重復
簡單的增刪改查
有必要用面向對象那麼復雜嗎?不就是把信息更新到數據庫嗎?
粒度細化以後
使用面向對象的東西能夠帶來重用啊
今後不用老改
From:http://tw.wingwit.com/Article/program/Java/hx/201311/27005.html