為什么dao層和service層用單例,而action用多例


使用單例和多例的判斷條件是會不會對類中公共屬性進行修改,如果有修改則用多例。

action中一般會有前端對應的屬性,如果是單例訪問,所有訪問公用一個action中的成員變量和方法,如果多個請求同時對一個屬性進行修改,則會出現數據出錯;而service中公共屬性頂多是dao層中的引用,dao層中公共屬性是對數據庫包裝類或自定義的類的引用,這個引用通常在項目加載啟動時就已經實例化了,訪問只是使用,並未涉及屬性修改,單例模式可節省系統資源。

總結:Action要接收request的參數,因為參數不同所以用多例;

   Dao中唯一的狀態就是連接數據庫, 但是這個恰好對大家都是相同的, 所以是單例
   Service, 業務邏輯里面的成員變量都是Dao, 既然Dao是無狀態的, 那么Service也可以認為是無狀態的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM