Google Mail Kalender Text & Tabellen Reader Web Mehr »
Kürzlich besuchte Gruppen | Hilfe | Anmelden
Google Groups-Startseite
Software mit Modulbauweise
Gegenwärtig gibt es mehrere Themen in dieser Gruppe, die zuerst angezeigt werden sollen. Damit dieses Thema zuerst angezeigt werden kann, muss diese Option bei einem anderen Thema entfernt werden.
Bei der Bearbeitung Ihrer Anfrage ist ein Fehler aufgetreten. Versuchen Sie es erneut.
Kennzeichnen
  3 Nachrichten - Alle ausblenden  -  Alles übersetzen in die Sprache: Übersetzt (alle Originale anzeigen)
Bei der Gruppe, für die Sie eine Mitteilung verfassen, handelt es sich um eine Usenet-Gruppe. Wenn Sie in dieser Gruppe Nachrichten posten, ist Ihre E-Mail-Adresse für jeden im Internet sichtbar
Ihre Antwort wurde nicht gesendet.
Die Nachricht wurde übermittelt.
 
Von:
An:
Cc:
Nachtrag zu:
Cc hinzufügen | Nachtrag hinzufügen zu | Betreff bearbeiten
Betreff:
Bestätigung:
Geben Sie zur Bestätigung die im folgenden Bild angezeigten Zeichen oder die durchgesagten Zahlen ein, indem Sie auf das Eingabesymbol klicken. Hören Sie zu und geben Sie die gehörten Zahlen ein
 
Alexander Wilde  
Profil anzeigen  
 Weitere Optionen 4 Jan. 2004, 19:46
Newsgroups: de.comp.lang.php.misc
Von: "Alexander Wilde" <wu...@gmx.de>
Datum: Sun, 4 Jan 2004 19:44:00 +0100
Betreff: Software mit Modulbauweise
Guten Abend allerseits,

Ich stehe momentan vor einem fundamentalen Problem. In den letzten Tagen ist
mein eigenes kleines CMS fertig geworden und merke jetzt, dass ich schon bei
der Planung einen grundlegenden Fehler gemacht habe. Ein CMS sollte (meiner
Meinung nach) mittles Module aufgebaut sein (bei mir nicht der Fall). Dabei
muss es möglich sein "per Mausklick" Module zu aktivieren bzw. deaktivieren.
Ich kann und will das Rad nicht neu erfinden und suche daher händerringend
nach Informationsquellen und Ratschlägen, wie man eine modulbasierte
Programlogik realisiert. Ich weiß dass meine Erklärungen noch recht vage
sind, aber vielleicht fällt jmd. ein guter Rat für mich ein.

mfg
alex


    Weiterleiten  
Sie müssen sich anmelden, bevor Sie Nachrichten veröffentlichen können.
Bevor Sie eine Nachricht posten können, müssen Sie zunächst dieser Gruppe beitreten.
Bitte aktualisieren Sie vor dem Posten in den Abonnementeinstellungen Ihren Spitznamen.
Sie haben nicht die erforderliche Berechtigung zum Posten.
Hero Wunders  
Profil anzeigen  
 Weitere Optionen 5 Jan. 2004, 02:01
Newsgroups: de.comp.lang.php.misc
Von: "Hero Wunders" <herojo...@nexgo.de>
Datum: Mon, 5 Jan 2004 02:00:58 +0100
Lokal: Mo 5 Jan. 2004 02:00
Betreff: Re: Software mit Modulbauweise
Hallo!

> Ich stehe momentan vor einem fundamentalen Problem. In den letzten
> Tagen ist mein eigenes kleines CMS fertig geworden und merke jetzt,
> dass ich schon bei der Planung einen grundlegenden Fehler gemacht
> habe.

Ärgerlich. Aber immerhin hast du geplant.

> Ein CMS sollte (meiner Meinung nach) mittels Modulen aufgebaut
> sein (bei mir nicht der Fall). Dabei muss es möglich sein "per
> Mausklick" Module zu aktivieren bzw. deaktivieren.

Da kann ich dir zustimmen, wenn die Module wirklich unabhängig
voneinander sind. (Wird dies nicht sogar schon durch die Bedeutung des
Wortes Modul impliziert?!).

> Ich kann und will das Rad nicht neu erfinden und suche
> daher händerringend nach Informationsquellen und Ratschlägen,
> wie man eine modulbasierte Programmlogik realisiert.

Ich kann dir glaube ich (ich bin aber auch erst Anfänger) ein paar
Ratschläge geben:
Schreibe dein Programm objektorientiert.
In JAVA würde ich jetzt einen Observer benutzen, bei dem sich die Module
registrieren. In PHP musst du das AFAIK anders lösen.
Ich gehe mal davon aus, dass ein Modul hier durch mehrere Klassen gegeben
ist. Folglich brauchst du eine Art Schnittstelle für das Modul.
Diese Schnittstelle sollte in allen Modulen (sehr) ähnlich aufgebaut
sein, damit dein Hauptprogramm allgemein auf das Modul zugreifen kann.
Eine solche Schnittstelle könnte z.B. in Form von verschiedenen
Funktionen einer Interface-Klasse realisiert sein.
Diese Funktionen könnten dann z.B. lauten:

doIt() - Die Standardarbeit, die das Modul verrichtet
getOutput() - Die Ausgabe des Moduls wird weitergegeben
getStatus() - Eventuelle Statusmeldungen (ich denke das ist optional)
...
..

Je nachdem wie komplex die Module (bzw. das simpelste Modul) sein soll,
werden eben entsprechend weitere Funktionen implementiert.
Extras müssen dann über Sonderfälle im Hauptprogramm benutzt werden. D.h.
alles was nicht Standard ist, muss über Ausnahmen (if etc.) geregelt
werden.
Falls zwei Module dann doch irgendwie voneinander abhängig sind, könntest
du ja ein weiteres Interface schreiben, dass für die Kommunikation
zwischen den Modulen sorgt. Das wäre dann natürlich schon wesentlich
spezieller (auf die Situation angepasst).

Ich weiß jetzt nicht, was genau die mit aktivieren/deaktivieren von
Modulen meinst, aber ich tippe auf diesen Gedankengang:
Es werden alle Module aufgelistet, die gefunden wurden.
Ob sie eingebunden werden, hängt von einem Attribut ab (isActive).
Falls das Attribut false ist, arbeitet das Modul nicht und hat somit auch
keine Ausgaben. Falls das Attribut true ist, arbeitet das Modul, kann
evtl. interagieren und hat auch Ausgaben.
Man könnte das so lösen, dass es einen "Module suchen" Bereich gibt, in
dem eben alle Module gesucht werden und deren Existenz irgendwo
gespeichert wird. Standardmäßig ist jedes neu gefundene Modul aktiv.
Jedes Modul bekommt einen Status isActive, der sich in diesem Bereich des
CMS' einstellen lässt.
(Sogar diesen 'Bereich' könntest du als Modul auffassen. Einmal benutzt
kann es deaktiviert werden. Aktivieren lässt es sich dann eben nur noch
über direkten Zugriff auf eine Datei oder sonstirgendwie, aber das sind
jetzt unnötige Details)

Wie gesagt, ich kenne mich selbst nicht besonders gut auf diesem Gebiet
aus. Ich habe einfach mal so ein paar Ideen aufgeschrieben.
Vielleicht hilft's!?

herojoker


    Weiterleiten  
Sie müssen sich anmelden, bevor Sie Nachrichten veröffentlichen können.
Bevor Sie eine Nachricht posten können, müssen Sie zunächst dieser Gruppe beitreten.
Bitte aktualisieren Sie vor dem Posten in den Abonnementeinstellungen Ihren Spitznamen.
Sie haben nicht die erforderliche Berechtigung zum Posten.
Philipp Wagner  
Profil anzeigen  
 Weitere Optionen 5 Jan. 2004, 05:36
Newsgroups: de.comp.lang.php.misc
Von: Philipp Wagner <n...@philipp-wagner.com>
Datum: 5 Jan 2004 04:36:54 GMT
Lokal: Mo 5 Jan. 2004 05:36
Betreff: Re: Software mit Modulbauweise

Alexander Wilde wrote:
> Guten Abend allerseits,

> Ich stehe momentan vor einem fundamentalen Problem. In den letzten Tagen ist
> mein eigenes kleines CMS fertig geworden und merke jetzt, dass ich schon bei
> der Planung einen grundlegenden Fehler gemacht habe. Ein CMS sollte (meiner
> Meinung nach) mittles Module aufgebaut sein (bei mir nicht der Fall). Dabei
> muss es möglich sein "per Mausklick" Module zu aktivieren bzw. deaktivieren.
> Ich kann und will das Rad nicht neu erfinden und suche daher händerringend
> nach Informationsquellen und Ratschlägen, wie man eine modulbasierte
> Programlogik realisiert. Ich weiß dass meine Erklärungen noch recht vage
> sind, aber vielleicht fällt jmd. ein guter Rat für mich ein.

Am besten loest du sowas objektorientiert, wie Hero schon schrieb. Ein
IMO hervorragendes Beispiel fuer objektorientierte Programmierung in PHP
5 ist der coWiki, den du unter http://develnet.org/ findet. Schau dir
mal den Source an, nach kurzer Zeit sollte man sich zurecht finden.
Ich finde auch, da die Dokumentationen fuer objektorientiertes
Programmieren in PHP (5) bisher noch nicht so sehr ausgepraegt sind,
schau dir die Java Dokumentation an, die Unterschiede zwischen Java und
PHP 5 sind nicht sooo riesig in den Grundzuegen.
Auch in PHP 4 wuerde ich sowas objektorientiert loesen, auch wenn die
objektorientierung hier nicht allzu weit geht und mehr als Container
fuer Funktionen funktioniert - aber das gibt auch schon eine recht gute
Strukturierung.

> mfg
> alex

Philipp

    Weiterleiten  
Sie müssen sich anmelden, bevor Sie Nachrichten veröffentlichen können.
Bevor Sie eine Nachricht posten können, müssen Sie zunächst dieser Gruppe beitreten.
Bitte aktualisieren Sie vor dem Posten in den Abonnementeinstellungen Ihren Spitznamen.
Sie haben nicht die erforderliche Berechtigung zum Posten.
Ende der Nachrichten
« Zurück zu Diskussionen « Neueres Thema     Älteres Thema »

Eine Gruppe erstellen - Google Groups - Google-Startseite - Nutzungsbedingungen - Datenschutzbestimmungen
©2010 Google