I framework influenzano naturalmente la progettazione di moduli e sottosistemi specifici (come un front-end della GUI). Come menzionato nell'altra risposta, avrai un momento difficile se ti ritrovi a combattere contro il / i quadro / i prescelto / i.
Più in generale, tuttavia, si dovrebbe evitare di lasciare che qualsiasi singolo framework o tecnologia dettino o guidino il "quadro generale" dell'architettura generale del sistema. La maggior parte dei framework applicativi per scopi generici non incoraggia questo, quindi se ti ritrovi a scrivere l'intero sistema attorno a un framework, probabilmente stai facendo qualcosa che gli autori di quel framework non intendevano.
Probabilmente userete molti framework diversi per risolvere problemi diversi; man mano che il tuo sistema diventa più complesso, devi stare attento a non costruire The Big Ball Of Mud . Ove possibile, mantieni il tuo sistema modulare e liberamente accoppiato. Alcuni framework potrebbero essere tenuti meglio dietro le astrazioni scrivendo wrapper e adattatori che "nascondono" i flussi di lavoro specifici del Framework lontano da altri componenti. I toolkit GUI tendono a servire solo la funzionalità GUI front-end, quindi quei moduli GUI dovrebbero essere tenuti lontani dal resto del sistema.
Non esistono framework di uso generale (come framework dell'interfaccia utente, framework di layer di dati, ecc.) Per prescrivere l'architettura completa del sistema - al massimo potrebbero prescrivere la progettazione di un componente o modulo; ad esempio, alcune tecnologie GUI sono orientate verso particolari schemi MV *.
L'architettura generale del sistema dovrebbe essere guidata principalmente dai requisiti aziendali . Potresti trovarti appoggiato pesantemente a un particolare strumento (ad esempio, uno strumento di middleware di messaggistica o un framework ORM) al fine di legare tutto insieme, ma se hai incapsulato il framework in un'astrazione come una classe di "servizio", è meno probabile trovarti vincolato da quel quadro quando incontri i suoi limiti.
Cerca di tenere a mente quanto segue per il tuo disegno a grande immagine: