# Anwendungsfälle für OO Vererbungshierarchien bei Webapps



## ifconfig (10. Dez 2011)

Hallo, 

ich überlege momentan, was denn konkrete Anwendungsfälle für objektorientiertes Design mit Vererbung bei Webapplikationen sein könnten. Könnt ihr mir da Beispiele nennen? Ich überlege, die Userrechteverwaltung mit Vererbung zu gestalten, wäre das sinnvoll? Also ich rede jetzt von einer einfachen JSP/Servlets Webapp, also ohne irgendeinem Framework.

Gruß
ifconfig


----------



## Marcinek (10. Dez 2011)

Kann man pauschal gar nicht sagen..

Das ganze jsp konzeot ist ja oop

Eine Vererbung macht auch kein oop aus.


----------



## ARadauer (11. Dez 2011)

Meinst du jetzt technisch oder fachlich?

Wenn du es technisch siehst und ein MVC Pattern implementierst, könnten alle Controller von einem Super Controller erben.
Aber generell: Vererbung wird überbewertet... Aggregation/Komposition ist oft Vererbung vorzuziehen...
Also etwas aus anderen Dingen "zusammenbauen" ist besser als von etwas zu erben was das schon hat...


----------



## ifconfig (17. Dez 2011)

Ich meine beides, technisch und fachlich. Mir fallen nämlich keine Anwendungsbeispiele für Objektorientierung in der Webentwicklung ein. Bisher bin ich der Meinung, dass man einfach nur einen einzigen Controller braucht, der irgendwie mit dem Model arbeitet, entweder xml- oder Datenbank Datenpersistenz. Also ich hab viele Design Patterns kennengelernt, bspw. Strategy Pattern, Observer Pattern...State Pattern...Composite Pattern...mit diesen kann ich zwar reine JAva Applikationen bauen, aber wo soll ich diese Patterns in einer Webapp einsetzen? Und auch die ganzen Möglichkeiten die es da beim Programmieren gibt, mit clone(), hashTable() und equals(), java.util, Collections... ich frag mich beim Webentwickeln echt, warum ich all dieses Java-Programmier-Fachwissen gelernt habe, weil ich in der Webentwicklung keinen Einsatz dafür sehe...Also ich muss dazusagen, dass noch Webentwicklungs-Neuling bin, darum fehlt mir da die Praxiserfahrung.
Also könnt ihr mir da konkrete technische und fachliche Anwendungsbeispiele nennen? Also ich werkel wie gesagt gerade an einer Tomcat-JSP-Servlet Webapp rum, für die habe ich derzeit nur ein einziges Controller-Servlet geschrieben.

@ARadauer: Wie würde so eine Controller-Vererbung bei dir aussehen, also was würde da vererbt, was erweitert in den Subclasses dazukommen?


----------



## JanHH (2. Jan 2012)

Also Webanwendungen sind bis auf die Darstellung der GUI Java-Anwendunge wie alle anderen auch und daher ist das Wissen über all die erwähnten Pattern usw. da genauso notwendig wie auch sonst bei Desktop-Anwendungen. Find die Frage ehrlich gesagt etwas seltsam ;-). Es gibt natürlich simple Webanwendunge wo man nich viel davon braucht, das stimmt schon, ausserdem nehmen einem die modernen Frameworks eine Menge ab. Aber an sich gibts da keinen grundsätzlichen Unterschied.

Eine Besonderheit gibts allerdings: Wenn man bei der Persistenz (JPA) Listen von Objekten hat, die zu einer Klassenhierarchie gehören, macht es u.U. Sinn, diese Hierarchie entgegen dem, was man über sauberes Softwaredesing gelernt hat, aufzubrechen und alles in eine einzige Entity-Klasse zu stecken, auch wenns da dann redundante Proberties gibt, weil das beim Mapping mit einer Liste und @OneToMany (etc) dann für JPA deutlich simpler wird und man auch nur eine Datenbanktabelle für die Klassenhierarchie braucht.


----------

