Hi,
ich habe dieses Jahr evtl. die Möglichkeit mein Projekt neu zu strukturieren. Ich habe mittlerweile mehr über das MVC gelesen und irgendwie fehlt mir so ein wenig Kontext beim Model-Teil.
Also ich habe eine normale JPA Entity, in der habe ich alle Felder und deren Getter und Setter-Methoden und zusätzlich noch Methoden, die in die Entität gehören.
Dann habe ich eine Klasse, in der ich alle Methoden habe, um Daten aus der Datenbank zu dieser Entität in allen möglichen Abfragen bereit zu stellen.
Und hier habe ich laut allen Examples ja schon einen Fehler, oder? Jedes Example hat dafür ein DAO-Interface und da drin sind immer nur solche generischen Funktionen, wie getById oder getAll. Außerdem verstehe ich nicht den Sinn von einem Interface, wenn man dazu nur eine einzige Implementierung hat. Oder macht es Sinn die Implementierungen auf zu teilen?
Als konkretes Beispiel habe ich eine Parameter Entität, dort sind alle Konfigurationen der Anwendung gespeichert. Diese sind aber nach "Funktion" unterteilt. Also habe ich z.B. ein MailConfig Objekt, dieses benötigt nur die Parameter vom Typ 'Mail'. In meiner Klasse zur Datenbeschaffung habe ich also eine Funktion, die getMailConfig heißt und ein Objekt vom Typ MailConfig zurück gibt.
Irgendwie fühlt sich das aber falsch an.
Außerdem habe ich in meinem letzten Post zu Maven bei @LimDul gesehen, dass er alles, was Entitäten betrifft in einem Modul hat. Finde ich gut, würde ich auch gerne so machen, aber was gehört dann alles dort rein? Also alles, was @Entity ist selbstverständlich, aber kommen dann nur die DAO-Interfaces rein, oder auch die Implementierungen? Also um beim MailConfig-Beispiel zu bleiben:
Parameter-Entität kommt auf jeden Fall rein
Dann ein DAO inclusive Implementierung, welches eine Liste von Parametern liefert und die Parameter-Art als Aufrufparameter bekommt.
Und die Methode, die aus einer Liste von Parametern ein MailConfig-Objekt macht, die kommt dann zu den Geschäftslogiken?
ich habe dieses Jahr evtl. die Möglichkeit mein Projekt neu zu strukturieren. Ich habe mittlerweile mehr über das MVC gelesen und irgendwie fehlt mir so ein wenig Kontext beim Model-Teil.
Also ich habe eine normale JPA Entity, in der habe ich alle Felder und deren Getter und Setter-Methoden und zusätzlich noch Methoden, die in die Entität gehören.
Dann habe ich eine Klasse, in der ich alle Methoden habe, um Daten aus der Datenbank zu dieser Entität in allen möglichen Abfragen bereit zu stellen.
Und hier habe ich laut allen Examples ja schon einen Fehler, oder? Jedes Example hat dafür ein DAO-Interface und da drin sind immer nur solche generischen Funktionen, wie getById oder getAll. Außerdem verstehe ich nicht den Sinn von einem Interface, wenn man dazu nur eine einzige Implementierung hat. Oder macht es Sinn die Implementierungen auf zu teilen?
Als konkretes Beispiel habe ich eine Parameter Entität, dort sind alle Konfigurationen der Anwendung gespeichert. Diese sind aber nach "Funktion" unterteilt. Also habe ich z.B. ein MailConfig Objekt, dieses benötigt nur die Parameter vom Typ 'Mail'. In meiner Klasse zur Datenbeschaffung habe ich also eine Funktion, die getMailConfig heißt und ein Objekt vom Typ MailConfig zurück gibt.
Irgendwie fühlt sich das aber falsch an.
Außerdem habe ich in meinem letzten Post zu Maven bei @LimDul gesehen, dass er alles, was Entitäten betrifft in einem Modul hat. Finde ich gut, würde ich auch gerne so machen, aber was gehört dann alles dort rein? Also alles, was @Entity ist selbstverständlich, aber kommen dann nur die DAO-Interfaces rein, oder auch die Implementierungen? Also um beim MailConfig-Beispiel zu bleiben:
Parameter-Entität kommt auf jeden Fall rein
Dann ein DAO inclusive Implementierung, welches eine Liste von Parametern liefert und die Parameter-Art als Aufrufparameter bekommt.
Und die Methode, die aus einer Liste von Parametern ein MailConfig-Objekt macht, die kommt dann zu den Geschäftslogiken?