java service domain dao 分層思路


今天在開發項目的時候,對項目的java后台的分層有一些看法:

首先,鼓勵使用service domain dao 層分層設計概念。

其次,對幾層作用的理解:

 

第一:dao層操作單表,不涉及復雜邏輯,主要是表的增刪改查操作,完全根據domain的要求來查詢數據。

第二:domain層考慮業務邏輯,例如過濾條件,放行或者返回,以及數據的處理,為調用dao層做好准備,一個domain可以調用一個或者一組相關的dao層

第三:service層調用一個或者一組domain層,主要是展現需要開放出去的接口,其中domain層不是所有的接口都要再service層體現的,可能僅在service層開放幾個接口出去,此外,主要接口需要對接受的參數要盡量的擴大化,也就是說可以容納各種類型的參數的接入(Object),然后需要在service層做好轉換,以備domain層使用。

 

 

正確的設計應該是,一個領域活動會聚合對應一個或一組DAO ,來完成一個領域活動。而一個服務可能包含兩個領域活動,比如一個轉賬的業務,對應兩個領域活動。兩個帳戶的金額分別發生變化,需要操作一組領域活動,而每個活動需要操作很多表(調用多個DAO )。

 

 

 

使用 接口方式可以實現系統之間的松耦合:

一般定義: IUserService  UserService  IUserDomain  UserDomain  IUserDao UserSqlDao   UserHbaseDao

使用接口可以有不同的實現類 ,不需要改代碼,可以通過配置更改不同的實現類


免責聲明!

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



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