User since
2006-05-09
29
Artikel
BenutzerIn
Hallo,
Es geht darum, auf einer Plattform verschiedene Dienstleistungen anzubieten, von denen User eine oder mehrere nutzen können sollen. Die Plattform soll mit der Zeit wachsen, es sollen also Komponenten dazukommen können.
Es ist geplant, Catalyst als Framework einzusetzen.
Das Grundkonzept sieht vor, dass auf der untersten Ebene der Plattform im wesentlichen User und deren Authentifizierung realisiert werden soll und die Komponenten ihre spezifischen Funktionalitäten selbst mitbringen, was eben auch bedeutet, dass jede neue Komponente alle drei Catalyst-Components (MVC) erweitern würde.
Es wäre natürlich möglich, die Applikation sukzessiv händisch zu erweitern. Da ich aber erwarte, dass das Projekt mit der Zeit sehr groß wird, wäre es gut, die Komponenten als unabhängige Einheiten behandeln zu können.
Das hätte auch den Vorteil, dass man sie als solche entwickeln und testen sowie ggf. später mal einen Automatismus zum Import neuer Komponenten einführen könnte.
Mir schwebt da so etwas vor wie:
MyApp
MyApp::MyFirstComponent
MyApp::MySecondComponent
.
.
.
Da die Komponenten später auch untereinander kommunizieren sollen (User soll Service A und Service B verknüpfen können), ist eine Basisapplikation mit den Komponenten als unabhängig laufende Applikationen, die von der Basisapplikation erben, nicht wünschenswert, da ich nicht glaube, dass auf einem Server parallel laufende Applikationen mich der gewünschten Lösung näher bringen können (berichtigt mich bitte, wenn ich mich irre).
Die Idee ist eher, dass MyApp im obigen Beispiel alle hierarchisch untergeordneten Komponenten anbietet. Zwei Hierarchieebenen dürften reichen, nehme ich an, also:
MyApp
|
+--Component1
+--Component2
|
+--
.
.
.
Eine Lösung für mehrere Hierarchieebenen wäre noch schöner, aber ich will ja nicht unverschämt werden ;-)
Leider konnte ich im Netz und auch im Archiv der Catalyst-Mailingliste keinen vergleichbaren Ansatz finden.
Gibt es irgendwo schon solche Ansätze, die ich nur nicht gefunden habe, bzw. hat jemand eine Idee, wie man da rangehen könnte?
Habe ich vielleicht etwas im Catalyst Manual übersehen, das mich in die richtige Richtung schicken könnte?
User since
2003-08-04
14371
Artikel
ModeratorIn
Du willst also so etwas wie "Plugins"? Dann wäre vielleicht
Module::Pluggable etwas für Dich...