Estou tentando entender bem como implementar uma boa dissociação entre uma interface do usuário e o modelo, mas estou tendo problemas para descobrir exatamente onde dividir as linhas.
Eu estive analisando o Model-View-Presenter, mas não sei exatamente como proceder para implementá-lo. Por exemplo, minha Visualização possui várias caixas de diálogo.
- Deve haver uma classe View com instâncias de cada uma das caixas de diálogo? Nesse caso, como os diálogos devem interagir com o Apresentador? ie se um diálogo individual precisar solicitar dados do modelo por meio do apresentador, como o diálogo deve obter uma referência ao apresentador? Através de uma referência à vista que lhe foi dada durante a construção?
- Eu estava pensando que talvez a visão devesse ser uma classe estática? Em seguida, as caixas de diálogo GetView e o Presenter de lá ...
- Eu estava pensando em configurá-lo para o Presenter com propriedade do View and Model (em oposição ao View com o Presenter e o Presenter com Model) e o Presenter registrando retornos de chamada para eventos no View, mas isso faz parecer muito mais acoplados (ou pelo menos o idioma dependia).
Eu estou tentando:
- faça isso o mais dissociado possível
- idealmente, é possível associar o Presenter / Model às exibições de outros idiomas (eu não fiz muitas coisas inter-idiomas, mas sei que é possível, principalmente quanto mais
void(void)
posso me apegar, pelo menos um aplicativo C # com um Biblioteca C ++ ... - mantenha o código limpo e simples
Então .. alguma sugestão de como as interações devem ser tratadas?