2016-10-01 4 views
1

Ich versuche, ein vorhandenes Java-Projekt in Maven-Projekt zu konvertieren. Ich habe folgenden Ansatz vor Augen, bin mir aber nicht sicher, ob ich in die richtige Richtung gehe.Spring Java Maven Projekt + Modul Design

Der erste Ansatz besteht darin, alle Entitäten, Repository, Dienst, Konstanten, Implementierungsklassen in 1 single maven-Modul/Projekt zu gruppieren.

Der zweite Ansatz besteht darin, alle Serviceklassen in ihrem jeweiligen Mavenmodul/Projekt und den Rest der Entitäten, Repository-Klassen, in einem Basismodul zu haben.

Welchen Ansatz sollte ich wählen?

Ansatz 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 

Ansatz 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

Ansatz1 ... Ihre Module werden locker gekoppelt sein – fmodos

Antwort

1

Der erste Ansatz, den Sie haben, ist ein klassischer Fall von Ordnern nach Merkmal vs zweiten Ansatz mit dem Sie eine Art von Ordnern nach Typ haben (sollte ich es so nennen). Obwohl beide Ansätze Vor- und Nachteile haben, ist es eine persönliche Entscheidung, die Module nach Merkmal zu ordnen (Ansatz 1).

Hier ist meine 2 Cent, warum:

a) Da die Größe der Anwendung wächst, auf eine bestimmte Datei gehen ist ein Problem, wenn es viele Pakete sind. Kurz gesagt, ein Navigationsproblem.

b) Sie können mehrere Teams haben unabhängig von diesen verschiedenen Modulen zu arbeiten und einen Elternteil pom haben entworfen, um das Kind Poms haben/Module für eine Veröffentlichung noch seperation Aufrechterhaltung Code gebaut

c) Module losen & worden gekoppelt gekapselt , Chancen sind Änderungen in einem nicht brechen die anderen Builds wegen der Klasse A-> B, B-> A Problem

Verwandte Themen