Altrea wrote:Richtig angewandt und spezialisiert auf die jeweilige Anforderung ist das FrontController/FrontDispatcher Muster ein wichtiger Schritt hin zu den OOP Prinzipien
Single-Responsibility (SRP),
Separation of Concerns (SoC) und
Don't Repeat yourself (DRY). Frameworks und speziell Content-Management-Systeme müssen leider meistens den Anspruch erfüllen universell einsetzbar zu sein um (kommerziell) erfolgreich sein zu können.
Nach meiner Meinung sind diese "Programmierrichtlinien" (nicht die o.g., sondern die ausschließliche Nutzung von index.php) von Laien aus dem unter Microsoft Windows üblichen Eventgesteuerten Verhalten übernommen worden (wo die API eine technisch andere Lösung kaum ermöglicht), in einem transaktionierenden Umfeld wie u.a. dem Protokoll HTTP halte ich das schlicht für ein Fehlverständnis. Mit OOP hat das jedenfalls überhaupt gar nichts zu tun. Es gibt ja (wenn man es überhaupt irgendwie im Kontext OOP verstehen will) nur eine einzige Klasse mit einer einzigen Instanz und irrsinnig vielen Methoden - nämlich das Modul index.php mit zigtausenden Parametern. DAS KANN NICHT RICHTIG SEIN!
Ich will gar nicht wissen, wieviele unausgebildete Scriptkiddies für diese Verbrechen verantwortlich sind.
Im übrigen widersprechen die Inhalte aller drei von Dir genannten Punkte dem obigen Programmierprinzip (zumindest teilweise), insbesondere SRP (Single-Responsibility) wird ja hier mit dem Riesenstiefel getreten, weil das Modul index.php für ALLES verantwortlich ist und es überhaupt kein anderes, einem Kontext entsprechendes Modul gibt.
SoC bedeutet eigentlich nur weitestgehende Trennung von Code, Funktion und Präsentation, das hat mit der obigen "Eventgesteuerten" Programmierung nichts gemeinsam, ob das wirklich geschieht, entscheidet sich an anderer Stelle.
Und DRY (Dont repeat yourself) läßt sich je nach Konzept durch Funktionsaufrufe, oder geeignete Klassen, oder auch einfache includes() realisieren, auch das hat nichts mit dieser sehr eigenartigen monolithischen Programmierung zu tun.
Ich sehe da wirklich nur ein verkrampftes Fehlverständnis von Programmierung - und wenn man mal reinschaut in die einzelnen Produkte (SMF Forum, Tapatalk, Joomla) - dann fallen einem teilweise die Haare aus. Das ist programmiert, da gibt es keine Worte für. Schau mal in Tapatalk rein, da fliegt Dir die Hutkrempe weg.