I framework influenzano naturalmente la progettazione di moduli specifici e di sottosistemi (come un front-end della GUI). Come l'altra risposta menzionata, avrai un momento difficile se ti troverai a combattere contro i tuoi quadri scelti.
Più in generale, tuttavia, dovresti evitare di lasciare che un singolo framework o tecnologia imposti o guidare il "quadro generale" della tua architettura generale del sistema. La maggior parte dei framework per applicazioni generiche non lo incoraggia, quindi se ti ritrovi a scrivere l'intero sistema su un framework, probabilmente stai facendo qualcosa che gli autori di quel framework non intendevano.
Probabilmente userai molti quadri diversi per risolvere diversi problemi; man mano che il tuo sistema diventa più complesso, devi stare attento a non creare The Big Ball Of Mud . Ove possibile, mantenere il sistema modulare e liberamente accoppiato. Alcuni framework potrebbero essere meglio mantenuti dietro le astrazioni scrivendo wrapper e adattatori che "nascondono" i flussi di lavoro specifici del Framework lontano da altri componenti. I toolkit della GUI tendono a offrire solo funzionalità GUI front-end, quindi i moduli della GUI devono essere tenuti lontani dal resto del sistema.
I quadri per scopi generali (come i framework UI, i framework del livello dati, ecc.) non esistono per prescrivere l'architettura completa del tuo sistema - al massimo potrebbero prescrivere la progettazione di un componente o di un modulo; per esempio, alcune tecnologie GUI sono orientate verso particolari modelli MV *.
L'architettura generale del tuo sistema dovrebbe essere guidata principalmente dai tuoi requisiti aziendali . Potresti trovarti ad appoggiare pesantemente su uno strumento particolare (ad esempio, uno strumento middleware di messaggistica o un framework ORM) per legare tutto insieme, ma se hai incapsulato il framework in un'astrazione come una classe di 'servizio' tu È meno probabile che tu ti ritrovi costretto da quel quadro quando incontri i suoi limiti.
Cerca di tenere presente quanto segue per il tuo design di immagini grandi: