Control und Interface Klassen

Status
Nicht offen für weitere Antworten.
F

Felix1312

Gast
Hallo,

ich habe vor kurzem ein UML im Internet gefunden (fragt mich nicht wo), bei dem ein UML-Klassendiagramm für ein Java-Webprojekt abgebildet war.

Dort waren jedoch keine Methoden eingezeichnet. Zu jeder Entität gab es zwei Interface-Klassen (EntitätsNameVerwaltung und EntitätsNameVerwaltungDAO) und zwei Control-Klassen (EntitätsNameVerwaltungImpl und EntitätsNameVerwaltungDAOImpl).

Jetzt bin ich nicht sooo der Java-/OOP-Experte, würde eine solche professionelle Struktur mit 3-Schichten-Architektur (die EntitätsNameVerwaltung und EntitätsNameVerwaltungImpl als Anwendungskern; die ENVDAO und ENVDAOImpl + die Entitäten, abstrakten Klassen,... als DB-Zugriffsschicht) verwenden, um meine PHP-Seite bzw. die Technik die dahinter steckt umzugestalten.

Kann mir vielleicht jemand sagen, welche Methoden genau in so einer Control bzw. Interface-Klasse stecken? Ich denke mal, in der ENV wäre dann etwas (für die Entität Mitglieder) wie neuesMitgliedErstellen(parameter), mitgliedLoeschen(...),.. allerdings nur die Methodenköpfe und nicht ausprogrammiert (ist ja ein Interface), in der ENVImpl dann das Interface implementiert, eben die o.g. Methoden ausprogrammiert und die Verwendung der ENVDAOImpl.

Die ENVDAO wäre eben dann wieder für den Zugriff auf die DB "zuständig", allerdings ohne ausprogrammierte Methodenrümpfe und die ENVDAOImpl hätte letztendlich die Methoden um eben Benutzer per Query aus der DB zu löschen?!?!

Ist das so richtig? Noch eine Frage: Warum verwende ich in den Fällen dann überhaupt Interfaces? Das ist ja lediglich die Vorschrift dann für eine Klasse, was da drin stehen soll (welche Methoden), also auch nicht für mehrere. Dachte, wenn ich 30 Klassen für verschiedene Produkte habe mache ich ein Interface um zu sagen, daß jedes Produkt eine Methode haben muß, um die MwSt. zu berechnen (doofes Beispiel, aber so dachte ich mir das eigentlich immer)?!?!

Danke und Grüße,

Felix
 

Tobias

Top Contributor
Jo, und wenn du 3 verschiedene DAOs hast, die die Abbildung deiner "Mitglieder"-Entitäten auf eine relationale DB, das Dateisystem und einen Vogonen-Stream zum Planeten Xorg übernehmen, ist die Typsicherheit über das Interface doch auch eine tolle Sache, nicht wahr?

mpG
Tobias
 
F

Felix1312

Gast
Aha. Sehr gute Antwort! Danke! Vielleicht kann jemand was konstruktives dazu äußern.
 

Tobias

Top Contributor
Ich denke, dass das durchaus konstruktiv war. Dank eines Interfaces ist es mir egal, welche konkrete Implementierung (und damit welcher konkrete Datenspeicher) benutzt wird. Aber wenn du keine Hilfe haben willst - bitte.

mpG
Tobias
 
F

Felix1312

Gast
Hallo Tobias,

hab mir deine Antwort nochmal durchgelesen. Beim ersten Mal kam es mir eher vor, als wolltest du dich über die Frage lächerlich machen. Hab es mir jetzt nochmal durchgelesen... Jetzt habe ich es auch kapiert - sorry! ;)

Könnte vielleicht nochmal jemand schreiben, welche Methoden genau in den genannten Klassen stehen (vielleicht an einem Beispiel - nur, was die Klassen bzw. Methoden dann machen)?

DAnke und Grüße,

Felix
 
M

maki

Gast
Woher sollen wir wissen welche Methoden in deinen Klassen stehen?
 
F

Felix1312

Gast
Die Frage war eher allgemein gehalten. Klar will ich nicht wissen, was exakt wo drin steht, nur, ob ich das richtig verstanden habe bzw. was im allgemeinen wo rein gehört (wenn ihr mir schreibt, in der Verwaltungsklasse gehören die ganzen Klassen rein die zum einen auf die Entity und auf die DAO-Klasse zugreifen, dann reicht mir das schon).

Danke für den Link! Werde ich mir auf jeden Fall mal durchlesen... Denke zwar, daß es bei dem Projekt von mir fast schon mit Kanonen auf Spatzen geschossen ist, aber wenn man die Techniken beherrscht bzw. weiß, wie man sowas professionell löst ist es mit Sicherheit kein Nachteil.

Vielen Dank nochmals und Grüße,

Dirk
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Unterschied zwischen Required Interface und Provided Interface Softwareentwicklung 3
isaakwit Gui designen, basierend auf eigenem Interface Softwareentwicklung 3
G Linux: Status feststellen, ob Interface per DHCP konfiguriert wurde Softwareentwicklung 3
P [UML] Interface Implemetierung, bei externen Interfaces Softwareentwicklung 4
G Polymorphie, Abstract Class, Interface Softwareentwicklung 1
J IntelliJ - Debugging funktioniert nur in manchen Klassen Softwareentwicklung 1
S Darstellung "globaler" Klassen/Libraries im Klassendiagramm Softwareentwicklung 3
T Wie die Multiplizität zweier bidirektionaler Klassen umsetzen? Softwareentwicklung 4
N UML Komponenten als Java-Klassen abbilden Softwareentwicklung 4
MiMa Organisation von Klassen Softwareentwicklung 5
P [UML] Klassen als Attribute = Assoziationen? Softwareentwicklung 14
C innere klassen auslagern Softwareentwicklung 12
S Design Pattern für zwei abhängige Klassen Softwareentwicklung 8
E Von Use-Case nach Klassen Diagramm Softwareentwicklung 3
D Java in KLassen, schon vorhanden? Softwareentwicklung 3
G Klassen trennen zur verbesserung der Übersicht? Softwareentwicklung 9
W Frage zu a)Innere Klassen und b)OO Design Softwareentwicklung 13
S Dynamisches Einbinden von Klassen Softwareentwicklung 3
W Statische Klassen oder neue Instanz einer Klasse nutzen? Softwareentwicklung 11
A Iterato-Pattern und Innere Klassen Softwareentwicklung 9
V 2 Klassen arbeiten am selben Objekt? Softwareentwicklung 2
V alle abgeleiten Klassen eines Interfaces finden? Softwareentwicklung 2
H aus allgemeinem array auf methoden abgeleiteter klassen zugr Softwareentwicklung 5
S Wieviele Klassen sind sinnvoll? Softwareentwicklung 3
K auf Attribute aus anderen Klassen zugreifen*help* Softwareentwicklung 3
P Projekt und Klassen Verwaltung (Wiederverwendung) Softwareentwicklung 4
L Aufgabenverteilung in zwei Klassen? Softwareentwicklung 6
L Frage zu Beziehungen zwischen Klassen und UML Softwareentwicklung 10
R klassen vererbung Softwareentwicklung 3

Ähnliche Java Themen


Oben