2009-06-24 6 views
1

Ich habe AppFuse verwendet, um meine Projekte seit einer Weile zu erstellen. Und ich bin mir schon bewusst, dass es zwei Ansätze Ihre DAO und Manager-Klassen zu entwickeln:AppFuse Generic/Universal DAO und Manager Verwendung

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

oft finde ich, dass mit dem Universal-Ansatz um bequemer zu sein, weil ich nur eine Klasse brauche, um alle Entitäten zu verwalten. Ich habe mich immer gefragt, ob dies vom Design her eine sehr schlechte Wahl wäre.

Gibt es einen Grund, warum ich die generische Variante bevorzugen sollte? Und generell, wäre es empfehlenswert, beide Klassen in meiner Bewerbung zu kombinieren?

Antwort

1

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

  • „Generic“ -Ansatz beinhaltet im Allgemeinen viel mehr Konfiguration: Sie DAO und einen Manager für jede Entität konfigurieren. Für ein mittelgroßes Modell ist das einfach nicht akzeptabel.
  • mit "Generic" Ansatz müssen Sie noch eine Menge Casting. Zum Beispiel mit Hibernate, werden Sie eine Menge von Downcasting am Ende tut, zB der Firma List < Objekt> < zur Liste MyDomainClass>
  • mit der Universal können Sie einen flexibleren DAO erstellen, die viele (nicht nur ein Modell) verwaltet B. ein OrderDAO, der Aufträge, Artikel und Kategorien verwaltet.

Und natürlich, nie die beiden Ansätze mischen! Es kann leicht gemacht werden, aber in jedem Projekt Uniformität ist eine große Tugend;)