Frage

Ich habe AppFuse benutze meine Projekte für eine Weile jetzt zu schaffen. Und ich bin mir schon bewusst, dass es zwei Ansätze Ihre DAO und Manager-Klassen zu entwickeln:

  1. GenericDao / GenericManager Ansatz
  2. UniversalDao / UniversalManager Ansatz

ich oft fest, dass der Universal-Ansatz bequemer sein, weil ich alle Entitäten nur eine Klasse verwalten muß. Du ich immer gefragt, ob Design-weise dies eine sehr schlechte Wahl wäre.

Gibt es einen Grund, warum ich die generische Variante vorziehen sollte? Und im Allgemeinen, wäre es ratsam, beide Klassen in meiner Anwendung zu mischen?

War es hilfreich?

Lösung

Ich persönlich bevorzugen UniversalDao / UniversalManager verwenden, für ein paar Gründe:

  • „Allgemein“ Ansatz umfasst im Allgemeinen viel mehr Konfiguration : Sie müssen einen DAO konfigurieren und einen Manager für jede Entität. Für eine mittelgroße Modell ist dies nur nicht akzeptiert wird;
  • mit "Allgemein" Ansatz, den Sie immer noch eine Menge Casting zu tun haben. Zum Beispiel mit Hibernate, werden Sie eine Menge von Downcasting am Ende tun, z.B. von List zur Liste
  • mit der Universal Sie einen flexibleren DAO erstellen können, die eine OrderDAO viele (nicht nur eine) Modellklassen, zum Beispiel verwaltet die Bestellungen, Artikel und Kategorien verwaltet.
  • Und natürlich nie die beiden Ansätze mischen! Es kann leicht getan werden, aber in jedem Projekt Einheitlichkeit ist eine große Tugend ;)

    Lizenziert unter: CC-BY-SA mit Zuschreibung
    Nicht verbunden mit StackOverflow
    scroll top