Heim >Backend-Entwicklung >PHP-Tutorial >MVC - Ein Problem oder eine Lösung?
Repositories, Adapter, MVC, Solid, RTFM… Das Web wirft diese Begriffe ständig auf PHP -Entwickler aus. Ich bin es leid. Genug mit den Diktaten; Zeig mir die Kätzchen!
Schlüsselpunkte:
Software löst Probleme:
Wir erstellen Software, um Probleme zu lösen. Jede Codezeile befasst sich mit einem bestimmten Bedarf, egal ob sie die Welt retten oder süße Kätzchen anzeigen. Diesen Zweck respektieren.
Die Lösungen für diese Probleme verbinden sich zu größeren Systemen. Aber wie stellen wir sicher, dass unsere Lösungen effektiv, verständlich und wartbar sind?
Die "Eingröße passt zu allen" Mythos:
MVC wird häufig als einzig praktikable Lösung für Webanwendungen dargestellt. Die Gemeinschaft kritisiert oft diejenigen, die sie nicht benutzen, und erklärt selten , warum mvc angeblich überlegen ist.
Warum der MVC -Hype? Zu den häufig zitierten Leistungen gehören:
Aber sind diese Behauptungen wahr? Fehlen anderen Mustern diese Vorteile? Nr.
MVC löst nicht von Natur aus Komplexität, Wiederverwendbarkeit, Flexibilität oder Entkopplung. Entwickler Schreiben Sie sauber, flexibel und wiederverwendbarer Code. Wir brauchen MVC nicht mehr als JQuery, um document.getElementById()
zu verwenden. Eine ausgezeichnete Software existierte lange vor MVC und wird weiterhin ohne sie gebaut.
MVC ist ein Muster, kein Allheilmittel. Es ist eines von vielen: Adapter, Fabriken, Singletonen, Module, Dolmetscher, Beobachter ...
Muster helfen, sie lösen nicht:
Muster helfen uns, bessere Code zu schreiben. Sie stellen Best Practices dar, aber die Best Practice variiert je nach Problem. Ein Boot eignet sich hervorragend zum Wasserreisen, nicht zum Pflügen von Feldern.
Jedes Muster hat Stärken und Schwächen. Das Werksmuster zeichnet sich bei der Erstellung von Objekten aus. Das Modulmuster hilft, Code in Sprachen zu strukturieren, ohne dass eine robuste Modulunterstützung fehlt (wie JavaScript). Das Beobachtermuster leuchtet bei der Ereignisbehandlung. MVC hilft bei der Entkopplung von Präsentation, Daten und Logik.
Die Überbeanspruchung vonMVC beruht auf der fehlgeleiteten Überzeugung, dass es sich um die universelle Lösung für PHP -Webanwendungen handelt. Starrende Regeln entstanden: Modelle spiegeln Datenbankzeilen, Dünnkontroller, Templating -Motoren aus ... dann kamen "Fat Controller" und die Proliferation von HMVC, MVA, MVP, MVVM, PAC ...
MVC: Der neue Singleton (oder IE8):
MVC ist nicht allein in seinem Missbrauch. Wie Keith betont, wurde das Singleton -Muster überbeansprucht, um die wahrgenommenen Übel der Globalen zu vermeiden, was zu Global::getInstance()->var
statt $globalVar
.
Muster sind Werkzeuge, Entwickler sind die Handwerker:
Muster sind wertvoll, verwenden sie aber mit Bedacht und nachdenklich. Nichts ist schlimmer als ein Entwickler, der ein Muster missbilligt.
Erfinden Sie das Rad nicht neu. Viele intelligente Entwickler haben ähnliche Probleme vor Ihnen angegangen.
Mit der Datenbankintegration in Ihrem PHP zu kämpfen? MVC oder eine mehrstufige Architektur können helfen. Probleme mit faulem Laden? Ein Singleton könnte angemessen sein. Objekterstellung ein Ärger? Das Werksmuster kann helfen. Kommunikationsprobleme mit Inter-Service? Adapter sind dein Freund.
Schlussfolgerung:
verschiedene Muster bieten unterschiedliche Vorteile. Wählen Sie basierend auf dem Problem mit Bedacht. Wenn Sie MVC für eine einseitige Anwendung verwenden, löschen Sie sie.
Mögen die Muster mit Ihnen sein!
Häufig gestellte Fragen zu MVC- und PHP -Frameworks:
(Dieser Abschnitt bleibt weitgehend gleich, da er ein guter Überblick über MVC- und PHP -Frameworks ist.) Der vorhandene FAQ -Abschnitt enthält eine umfassende und genaue Erklärung von MVC in PHP -Frameworks, einschließlich Vergleiche verschiedener Frameworks und ihre Eignung für verschiedene Projekttypen. Hier sind keine Änderungen erforderlich.
Das obige ist der detaillierte Inhalt vonMVC - Ein Problem oder eine Lösung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!