Interface und Implementierung getrennt

Generic1

Top Contributor
Hallo,

in meinen Projekten mach ich es jetzt immer so, dass ich die Packages mit den Interfaces von den Packages mit den Implementierungen trenne,
Meine Frage wäre jetzt, ist das good practice oder gibt es da eine Standardisierung und macht man das bei allen Projekten so (Web-Applikationen, Enterprise-Applikationen, JavaStandard- Applikationen)?

So in der Art:
Java:
de.mycompany1.myproject1.persistance.dbconnection
de.mycompany1.myproject1.persistance.dbconnectionimpl

lg
 
Zuletzt bearbeitet:

musiKk

Top Contributor
Ich würde sagen, dass das total egal ist. Der Benutzer des Interfaces sollte sich mit keiner Zeile Code von der Implementierung abhängig machen. Durch DI ist das ja auch kein Problem. Insofern hast Du da Narrenfreiheit. Deine vorgeschlagene Paketstruktur macht jedenfalls sofort deutlich, was wie zusammengehört und das ist imho die Hauptsache. Ich persönlich würde aus [c]impl[/c] allerdings ein Unterpaket machen, also [c]...dbconnection.impl[/c].

Persistance schreibt sich übrigens Persistence. ;)
 

Noctarius

Top Contributor
OSGi hat da eine Art sauberen Quasi-Standard geschaffen.

com.example.data <- Interfaces und Factory-Classes
com.example.data.internal <- Implementierungen

In OSGi werden dann zusätzlich alle internal Packages für externe OSGi Bundles (JAR-Dateien) versteckt und die Instanzen lassen sich nur über Factories erzeugen.
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...

Ähnliche Java Themen

Neue Themen


Oben