Control und Interface Klassen

  • Themenstarter Themenstarter Felix1312
  • Beginndatum Beginndatum
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
 
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
 
Aha. Sehr gute Antwort! Danke! Vielleicht kann jemand was konstruktives dazu äußern.
 
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
 
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
 
Woher sollen wir wissen welche Methoden in deinen Klassen stehen?
 
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.

Neue Themen


Zurück
Oben