Klassen in verschiedene Packages unterteilen

Blindxantos

Aktives Mitglied
Hallo allerseits.

Wir haben ein Klassendiagramm erstellt und wollen das nun in Java umsetzen. Jetzt gleich zu meiner Frage: Wie werden die Klassen in die verschiedenen Packages eingeteilt:

Werden alle Oberflächen in ein Package und die Logik in ein anderes package gesteckt? Wir arbeiten mit einer kleinen Access-Datenbank, wo befindet sich die Datenbank?
Oder wird die Oberfläche und die dazugehörige Logik in jeweils ein Package gesteckt? Doch wie ist es dann mit Vererbung? Wäre die Oberklasse dann in einem Package auf der gleichen "Ordernerebene" oder sind alle Packages der Unterklassen eine Ebene tiefer? Es gibt auch ein Interface, wo muss sich dieses befinden?

Ich denke ein Link, wo ich das nachlesen kann, langt mir schon, meine Suche war nämlich nicht so erfolgreich, ich weiß nichtmal, wonach ich genau suchen soll..:rtfm:

Danke und liebe Grüße
 
Es gibt keine Vorschriften wo welche Klassen liegen müssen. Da darfst du dich (fast) völlig frei austoben 😉

Je nach Projektgröße kann man da unterschiedlich Ansätze heranziehen.
Du könntest die Klassen nach MVC aufteilen, in einem Package alles was zum UI gehört, dann die Controller und Models in jeweils nem separaten Package sammeln.
Oder oder oder ... 😉
Mach es so wie du es am sinnvollsten findest.

Noch nen paar kleine Hinweise:
Doch wie ist es dann mit Vererbung? Wäre die Oberklasse dann in einem Package auf der gleichen "Ordernerebene" oder sind alle Packages der Unterklassen eine Ebene tiefer?
Vererbung hat mit package Struktur nichts zu tun.
Das package
Code:
de.meineOberklassen
hat mit dem package
Code:
de.meineOberklassen.meineUnterklassen
NICHTS zu tun. Hättest du z.b. Klassen die nur im ersten package sichtbar wären, sind die im zweiten package nicht sichtbar, weil die packages eben nichts miteinander zu tun haben.

Es gibt auch ein Interface, wo muss sich dieses befinden?
Interfaces behandel ich in der Regel so:
im Package
Code:
de.meineInterfaces
liegt das Interface. Im Package
Code:
de.meineInterfaces.impl
liegen dann alle Implementierunges des Packages.
 

Neue Themen


Zurück
Oben