Hellihello Daniel,
Ich meinte eher, wie gliedere ich die Anwendung in Komponenten, die ich dann selbst schreiben muss.
Gut, wie Du unten schreibst ist der Spielraum bei Webseiten geringer.
MVC kümmert sich nur um zwei Ebenen, gut bei Webanwendungen ist die dritte meist die Datenbank. Außerdem sind Webanwendungen oft sehr monolitisch.
Auf _einem_ Kern aufbauend? Dem Front-Controller?
Nehme ich für /artist , /location , /agency je drei verschiedene controller, wie beim Standardrouting des ZF vorgesehen, oder route ich zu einem Controller und einer View, die wiederum mit Datensätzen aus den zugrundeliegenden Tabellen gefüttert werden.
Du erwähnst gar kein Datenmodell, anscheinend ist das Modell mit der Datenbank für Dich identisch.
Datenmodell? Ob Sql oder XML? Oder welche Variablen/Eigenschaften jedes Rubrikprofil mit sich bringt?
Bei sehr Datenbank-zentrierten Anwendungen ist das oft so.
Wie zentriere ich mich denn auf eine DB (== SQL?) Sie ist doch mehr oder minder "nur" Ablage für die Daten, mit denen ich hantieren möchte.
Es kann aber auch sein, dass Du ein Objektmodell hast, das von der ganzen Awendung verwendet wird, und weitere Objektmodelle, die von anderen funktionalen Komponenten (z.B. deinem /artist /location /agency) eingeklingt werden.
Das wären die Instanzen eines Action-Controllers und der View, die dann die entsprechenden Eigenschaften/getMethods kennen müssen?
Dieses Objektmodell muss dann wiederum in die Datenbank gespeichert werden können und das will man natürlich auch nicht zentral erledigen, sondern separat für jedes Teilmodell.
Ist eine XML-Struktur a la
<schueler jahrgang="23" geschlecht="1">
<name>sein name</name>
<fremdsprachen>
<option fremdsprache="englisch"/>
<option fremdsprache="spanisch"/>
</fremdsprachen>
ggf. mit zugehöriger DTD ein solches Objektmodel? Eine Instanz eines SimpleXMLElemts zB.?
Das kapier ich scheints nicht. Eine Abstraktionseben höher noch wohl, einen Baukasten für Baukästen? Ein Meta-Framework?
Nein, Entwurfsmuster sind ja auch kein Framework, auch MVC ist kein Framework.
MVC wird als Entwurfsmuster von Zend bezeichnet, glaub ich, und verlinkt.
Ich meinte eher eine Theorie, eine Herangehensweise. Vor allem eine, die nicht nur für Webanwednungen taugt. Das Thema Webanwendungen wird mit Frameworks und Standardarchitekturen ja geradezu zugeschüttet.
Jau, bis hier Dedlfix irgendwann mal von ZF erzählte. Und sich das im letzten Jahr ordentlich in Kenntnis aller Konkurrenz/Alternativen entwickelt hat.
Nur Singelton ist davon ein Entwurfsmuster und wahrscheinlich noch das fragwürdigste. Es wird nicht grundlos oft als die globale Variable der Objektorientierung bezeichnet ;-)
Aha, so kam es mir auch vor. Ist es ja auch. Aber eine globale Variable gekapselt in einer Klasse ist ja so global nicht mehr.
Zend_Controller is the heart of Zend Framework's MVC system. MVC stands for Model-View-Controller and is a design pattern targeted at separating application logic from display logic. Zend_Controller_Front implements a FrontController pattern, in which all requests are
pattern != Entwurfsmuster?
Viele Webanwedungen sind meiner Meinung nach sowieso nicht so sehr objektorientiert. Das liegt daran, dass eine Webanwendung oft nur Eingaben entgegen nimmt, mit der Datenbank kommuniziert und Daten wieder ausgibt.
S.o.
Die Komplexität der Webanwendungen steckt dann oft in irgend welchen SQL-Queries, die über die Anwedung verteilt sind. Das führt dann natürlich dazu, dass Information über die Struktur der Datenbank wild über die Anwendung verteilt ist. Mit Objektorientierung löst man das Problem allerdings auch nicht.
Wieso nicht? Dann liegen die Queries im Model, die Ausgabe in der View und dazwischen, ganz schlank, ein paar Verdrahtungen.
Die Implementierung von Interfaces und Nutzung abstrakter Klassen geht ja ohne OOP wohl auch nicht, oder?
Dank und Gruß,