Package Struktur

Status
Nicht offen für weitere Antworten.

ARadauer

Top Contributor
Jetzt muss ich mal fragen, wie ihr eigentlich heure packages organisiert.
Man sieht es ja sehr oft, das die packages technisch geordnet sind. Gui Elemente in ein Package, Modell Klassen in ein Package, DAOs in ein Package, controller usw....

Ich mach das eigentlich immer mehr fachlich. Also gui, model, conroller dao für zb benutzerverwaltung ein packate, produktverwaltung in ein package usw...

wie macht ihr das?
 

BjörnBu

Aktives Mitglied
Zuerst wird nach layern innerhalb der Applikation geteilt. Wie genau hängt von der Art der Anwendung ab.

Beispiel Web/EE-App:
persistence (nur konkrete implementierung der repositories, bzw dao je nach wording)
domain (entitäten, value objekte, services, spezifications und co.)
web (controller, form beans etc)

je nach umfang wird dann natürlich weiter geteilt. Um das standart Beispiel web-Shop nochmal zu missbrauchen: domain wird in shop und user geteilt.

Weiterhin in den packages liegen erstmal i.d.R. interfaces. konkrete Klassen sind (wenn es viele sind) in 'nem extra impl package.

Ich trenne eigentlich immer irgndwie nach concern. erst nach layer, dann fachlich, dann ggf noch technisch. Mehr als 10 Klassen in 'nem package hab ich nur in Ausnahmefällen.
 

didjitalist

Bekanntes Mitglied
BjoernBu hat gesagt.:
Ich trenne eigentlich immer irgndwie nach concern. erst nach layer, dann fachlich, dann ggf noch technisch. Mehr als 10 Klassen in 'nem package hab ich nur in Ausnahmefällen.

Mach ich ebenso. Allerdings spare ich mir generische packages wie "impl" für konkrete Implementierungen.

Ich finde es wichtig, dass Klassen, die zu einer gewissen Funktionalität gehören, sich auch alle in demselben package befinden. Verteilt sich diese Funktionalität auf verschiedene layer, so finden sich dieselben package Namen auch in den unterschiedlichen layer packages wieder.

Das heisst, es gibt eine package Struktur direkt an der Quelle (Datenbank o.ä.), eine für den service layer, eine für die business logic und eine für konkrete Applikationen.

Wobei diese grundsätzlich Struktur für manche Anwendungen auch über den Haufen geworfen werden kann. Man muss sie nicht mögen, aber die database driven applications gibt es halt immer noch. Wunderschöne Verwurstung von DB Zugriffen und Geschäftslogik. Schnell und solide ;)
 
M

maki

Gast
persistence (nur konkrete implementierung der repositories, bzw dao je nach wording)
DAO != Repository

Daos sind low level (CRUD), Repositories sind high level, ideal um Domainobjekte andere Domainobjekte zu finden/ändern zu lassen, aber eben auf einen höheren Abstraktionebene als Daos, mehr die Business Operation als die primitiven DB Operationen.

Domain und Services kann man trennen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Sin137 Struktur der Klassen & Package Allgemeine Java-Themen 2
H JavaFX Warnung in package Zeile Allgemeine Java-Themen 2
jumichel Eclipse The package javax.mail is not accessible Allgemeine Java-Themen 3
M Mehrere Ressourcen in einem package ablegen Allgemeine Java-Themen 1
G Mac Package auslesen Allgemeine Java-Themen 17
F Reason: Missing Constraint: Import-Package: okhttp3.internal.http; version="0.0.0" Allgemeine Java-Themen 0
Tommy135 Input/Output Application aus Java package starten Allgemeine Java-Themen 2
J File in Package erstellen & lesen mit Programmstart in externe Projekt Allgemeine Java-Themen 3
B Maven Keycloak library wirft exceptions nach maven package Allgemeine Java-Themen 1
ReinerCoder auf Klassen innerhalb eines package zugreifen Allgemeine Java-Themen 22
T Plötzlich wird package nicht mehr gefunden Allgemeine Java-Themen 3
I Fehler beim Ant-Package erstellen mit Java 9 Allgemeine Java-Themen 1
K Classpath Alle Classen aus einem Package lesen Allgemeine Java-Themen 7
F Problem mit "package" Allgemeine Java-Themen 7
L Stack overflow bei einer endrekursiven Funktion (Anwendung: Spezialform des Package Merge) Allgemeine Java-Themen 4
D Classloader ohne Package Allgemeine Java-Themen 10
T Package durchsuchen Allgemeine Java-Themen 11
S leeres package obwohl inhalt da Allgemeine Java-Themen 53
S leeres Package nach neuinstallation des Pc Allgemeine Java-Themen 6
J Suche: Tool zum Auffinden gleichnamiger Klassen (Name und Package gleich) in unteschiedlichen JARs Allgemeine Java-Themen 5
G Gleiche Packages in verschiedenen JAR Dateien - Welches Package wird verwendet? Allgemeine Java-Themen 5
D Package switching Allgemeine Java-Themen 7
G log4j package filter Allgemeine Java-Themen 10
M Klasse aus xyz.class Datei laden / package entfernen? Allgemeine Java-Themen 4
Bastifantasti Package installieren Allgemeine Java-Themen 2
G Package / Architektur Allgemeine Java-Themen 11
J package javax.servlet does not exist Allgemeine Java-Themen 5
M Dateien aus dem Package im Jar-File rauskopieren Allgemeine Java-Themen 3
V Zugriff auf Default-Package? Allgemeine Java-Themen 6
S Package in verschiedene Projekten einbinden? Allgemeine Java-Themen 3
J Kein Zugriff auf Klassen im Default Package Allgemeine Java-Themen 8
B J-Unit Tests. Alle Tests eines Package einsammen. Allgemeine Java-Themen 4
G bild in package Allgemeine Java-Themen 6
G Klasse aus Package auslesen Allgemeine Java-Themen 13
V Alle Klassen eines Package auflisten? Allgemeine Java-Themen 6
G jfreechart probleme mit dem package? Allgemeine Java-Themen 2
E (einfaches) Problem mit import und package (export) Allgemeine Java-Themen 4
E Was ist "default package" in Eclipse konkret? Allgemeine Java-Themen 12
M diff package? Allgemeine Java-Themen 7
T auf Klasse in Default package zugreifen Allgemeine Java-Themen 10
G externe package Allgemeine Java-Themen 7
A Package Probleme Allgemeine Java-Themen 9
J Konstruktor-Aufruf nur aus einem bestimmten Package erlauben Allgemeine Java-Themen 5
G Suche gutes Statistik Package Allgemeine Java-Themen 2
W Package via Reflection parsen Allgemeine Java-Themen 4
minzel ActionListener aus Package Allgemeine Java-Themen 24
P alle Klassen in package auflisten Allgemeine Java-Themen 2
M JNI: nach verschieben in package UnsatisfiedLinkError Allgemeine Java-Themen 3
D Laaaange Klassennamen und Package-Pfade. Allgemeine Java-Themen 5
J Einbinden einer protected-Methode aus anderem Package Allgemeine Java-Themen 2
H .java Dateien in anderem Package Allgemeine Java-Themen 8
S javadoc: package problem Allgemeine Java-Themen 3
G package und classpath grundsatzfrage Allgemeine Java-Themen 7
N Reflection: An Package einer .class-Datei kommen Allgemeine Java-Themen 2
T Problem: Ein Package für 2 Projekte? Allgemeine Java-Themen 3
S Problem bei Umstellung von (default package) auf Packages Allgemeine Java-Themen 10
H Package name aus Class-File auslesen Allgemeine Java-Themen 11
G Java Package Allgemeine Java-Themen 2
EagleEye klassen package problem Allgemeine Java-Themen 3
C Jakarta commons package downloaden und installieren Allgemeine Java-Themen 7
L Package und Klassenname von aufrufender Klasse holen Allgemeine Java-Themen 2
Z auf static Methode aus anderen Package zugreifen? Allgemeine Java-Themen 7
H Klassen in einem Package ermitteln Allgemeine Java-Themen 6
C Problem mit Package Allgemeine Java-Themen 9
Karl_Der_Nette_Anfänger Hat wer ne Lösung für verknüpfte Postleitzahlen? (Baum/Wurzel Struktur) Allgemeine Java-Themen 11
J Ordner und Datei Struktur einer War Datei Allgemeine Java-Themen 1
K Größere Java-Projekte: Struktur Allgemeine Java-Themen 13
S Maven Jars dynamisch laden / Plugin-Struktur erstellen Allgemeine Java-Themen 14
A Best Practice Java - eine Art Plugin-Struktur Allgemeine Java-Themen 3
Tort-E Datenmodell / Struktur der Anwendung Allgemeine Java-Themen 4
B OOP Schwierigkeiten bei Klassendiagrammen/OOP-Struktur Allgemeine Java-Themen 5
F Passende Struktur gesucht Allgemeine Java-Themen 6
MQue Java Enterprise Struktur Allgemeine Java-Themen 2
G Klassen & Paket Struktur Allgemeine Java-Themen 4
K Struktur eines Chats Allgemeine Java-Themen 2
M Jar-Struktur untersuchen Allgemeine Java-Themen 3
B Frage zur HashMap Struktur Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben