2016-10-01 61 views
1

我想將現有的Java項目轉換爲Maven項目。我有以下方法,但我不確定我是否正朝着正確的方向前進。Spring Java Maven項目+模塊設計

第一種方法是將所有實體,存儲庫,服務,常量,實現類組合到一個單一的maven模塊/項目中。

第二種方法是將其各自的maven模塊/項目中的所有服務類以及其餘實體,存儲庫類放入基本模塊中。

我應該選擇哪種方法?

方法1

finance-module 
- com.example.finance.entities 
- com.example.finance.repository 
- com.example.finance.service 

order-module 
- com.example.order.entities 
- com.example.order.repository 
- com.example.order.service 

code-module 
- com.example.code.entities 
- com.example.code.repository 
- com.example.code.service 

方法2

finance-module 
- com.example.finance.service 

order-module 
- com.example.order.service 

code-module 
- com.example.code.service 

base-module 
- com.example.finance.entities 
- com.example.finance.repository 
- com.example.order.entities 
- com.example.order.repository 
- com.example.code.entities 
- com.example.code.repository 
+2

approach1 ...您的模塊將鬆散耦合 – fmodos

回答

1

你有第一種方法是具有文件夾由特徵VS其中按照類型有一種文件夾的第二種方法的一個典型的情況下(我應該這樣稱呼它)。儘管兩種方法都有優點和缺點,但個人選擇是將模塊按功能組織(方法-1)。

這裏是我的2美分,爲什麼:

一)隨着應用規模的增長,去一個特定的文件時,有許多包有問題。簡而言之,導航問題。

b)你可以有多個團隊對這些不同的模塊獨立工作,並設計有孩子POM的父POM /一個版本構建模塊仍保持代碼分離 -

C)模塊逐漸鬆耦合&封裝,因爲類A-> B,B-> A,所以一個不會破壞其他構建的機會