Estruturas naturalmente influenciam o design de módulos e subsistemas específicos (como um front-end da GUI). Como a outra resposta mencionada, você terá dificuldades se lutar contra o (s) quadro (s) escolhido (s).
No entanto, de maneira mais ampla, você deve evitar deixar que uma única estrutura ou tecnologia imponha ou conduza o "quadro geral" da arquitetura geral do sistema. A maioria das estruturas de aplicativos de uso geral não incentiva isso; portanto, se você estiver escrevendo todo o sistema em torno de uma estrutura, provavelmente estará fazendo algo que os autores dessa estrutura não pretendiam.
Você provavelmente usará muitas estruturas diferentes para resolver problemas diferentes; À medida que seu sistema se torna mais complexo, você precisa ter cuidado para não criar a Big Ball Of Mud . Sempre que possível, mantenha seu sistema modular e pouco acoplado. Algumas estruturas podem ser melhor mantidas atrás das abstrações gravando wrappers e adaptadores que 'ocultam' os fluxos de trabalho específicos da estrutura de outros componentes. Os kits de ferramentas da GUI tendem a servir apenas a funcionalidade da interface gráfica do usuário, portanto, esses módulos da GUI devem ser mantidos afastados do resto do sistema.
Estruturas de uso geral (como estruturas da interface do usuário, estruturas da camada de dados etc.) não existem para prescrever a arquitetura completa do seu sistema - no máximo, podem prescrever o design de um componente ou módulo; por exemplo, algumas tecnologias de GUI são voltadas para padrões específicos de MV *.
A arquitetura geral do seu sistema deve ser orientada principalmente pelos requisitos de negócios . Você pode se apoiar fortemente em uma ferramenta específica (por exemplo, uma ferramenta de middleware de mensagens ou uma estrutura ORM) para amarrar tudo, mas se você encapsulou a estrutura em uma abstração como uma classe 'service' é menos provável que você se sinta constrangido por essa estrutura quando encontrar suas limitações.
Tente ter em mente o seguinte para seu design geral: