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: