Wenn Sie ein System oder eine Anwendung entwickeln, die Sie mit einem bestimmten Framework verwenden möchten, ist es empfehlenswert, das System ohne das Framework zu entwerfen, oder es ist besser, das System mit der richtigen Einstellung zu entwerfen mit diesem".
development-process
systems
Robert Pounder
quelle
quelle
Antworten:
Ihr Design sollte den Kundenbedürfnissen so gut wie möglich entsprechen. Denken Sie daran, dass Design kleine Dinge beinhaltet wie:
Keines dieser Dinge sollte durch das Framework vorgegeben werden. Wenn klar ist, dass Sie mit Ihrem Framework kämpfen, um diese Ziele zu erreichen, wählen Sie ein neues Framework, mit dem Sie diese Ziele erreichen können, bevor Sie mit dem Schreiben von Code beginnen.
Sobald Sie ein geeignetes Toolset ausgewählt haben (das Framework ist ein Tool), empfehle ich, die Tools so zu verwenden, wie sie entwickelt wurden. Je weiter Sie vom Framework-Design abweichen, desto größer ist die Lernkurve für Ihr Team und desto größer ist die Wahrscheinlichkeit, dass etwas schief geht.
Zusamenfassend
Weitere Gedanken:
Nach mehr als 20 Jahren in der Softwareentwicklung und unter Verwendung mehrerer Frameworks habe ich einige Lektionen gelernt. Alle Frameworks sind ein zweischneidiges Schwert: Sie beschränken und ermöglichen beide. Das Problem bei der Entscheidung Ihres Frameworks, bevor Sie sich die oben erwähnten großen 3 ansehen, ist, dass Sie möglicherweise eine gute Benutzererfahrung für eine mittelmäßige (bestenfalls) beeinträchtigen. Oder Sie müssen möglicherweise vom Framework-Design abweichen, um bestimmte Funktionen auszuführen.
quelle
Frameworks beeinflussen natürlich das Design bestimmter Module und Subsysteme (z. B. eines GUI-Frontends). Wie in der anderen Antwort bereits erwähnt, werden Sie Schwierigkeiten haben, wenn Sie gegen die von Ihnen gewählten Frameworks kämpfen.
Generell sollten Sie jedoch vermeiden, dass ein einzelnes Framework oder eine einzelne Technologie das "Gesamtbild" Ihrer gesamten Systemarchitektur diktiert oder bestimmt. Die meisten allgemeinen Anwendungs-Frameworks unterstützen dies nicht. Wenn Sie also Ihr gesamtes System um ein Framework herum schreiben, tun Sie wahrscheinlich etwas, das die Autoren dieses Frameworks nicht beabsichtigt haben.
Sie werden wahrscheinlich viele verschiedene Frameworks verwenden, um verschiedene Probleme zu lösen. Wenn Ihr System komplexer wird, müssen Sie vorsichtig sein, um The Big Ball Of Mud nicht zu bauen . Halten Sie Ihr System nach Möglichkeit modular und lose gekoppelt. Einige Frameworks könnten besser hinter Abstraktionen zurückgehalten werden, indem Wrapper und Adapter geschrieben werden, die die Framework-spezifischen Workflows vor anderen Komponenten verbergen. GUI-Toolkits dienen in der Regel nur der Front-End-GUI-Funktionalität. Daher sollten diese GUI-Module vom Rest des Systems ferngehalten werden.
Allgemeine Frameworks (z. B. UI-Frameworks, Data-Layer-Frameworks usw.) beschreiben nicht die gesamte Architektur Ihres Systems - höchstens das Design einer Komponente oder eines Moduls. Beispielsweise sind einige GUI-Technologien auf bestimmte MV * -Muster ausgerichtet.
Die Gesamtarchitektur Ihres Systems sollte in erster Linie von Ihren Geschäftsanforderungen bestimmt werden . Möglicherweise stützen Sie sich stark auf ein bestimmtes Tool (z. B. ein Messaging-Middleware-Tool oder ein ORM-Framework), um alles miteinander zu verknüpfen. Wenn Sie das Framework jedoch in einer Abstraktion wie einer Serviceklasse zusammengefasst haben, müssen Sie dies tun Es ist weniger wahrscheinlich, dass Sie von diesem Framework eingeschränkt werden, wenn Sie auf dessen Grenzen stoßen.
Versuchen Sie, Folgendes für Ihr Gesamtbild zu berücksichtigen:
quelle
Ja, Sie sollten sich so genau wie möglich an die Vorgaben des Frameworks halten.
Der Grund ist einfach, dass Sie mit anderen Entwicklern umso leichter über Ihre Probleme / Ideen sprechen können, die ebenfalls dieses Framework verwenden, je näher Sie sich an die Framework-Denkweise halten.
Sie verbessern die Interoperabilität und Benutzerfreundlichkeit für andere Benutzer, die sie später verwenden. Sie werden Lernprogramme oder allgemeine Lösungen besser verstehen und einbeziehen, wenn Sie sich an die zugrunde liegende Philosophie halten, was auch immer Sie verwenden.
Der einzige gute Grund, warum Sie das Framework "brechen", ist, dass Sie unbedingt etwas benötigen, das es aufgrund seiner "Standard" -Konfiguration / -anwendung von Prinzipien nicht bereitstellen kann. Aber dann ist es vielleicht nicht der richtige Rahmen für den Anfang.
Grundsätzlich kann dies auch für andere Entscheidungen gelten. Sie sollten die Sprache, die Sie verwenden, so genau verwenden, wie sie verwendet werden soll, da es einfacher ist, wenn Sie dieselbe Sprache sprechen wie alle anderen.
quelle