... | ... | @@ -112,4 +112,18 @@ git push |
|
|
|
|
|
# Diagrama de Componentes
|
|
|
|
|
|
![Image](https://tools.ages.pucrs.br/sow-good/wiki/-/raw/main/Arquitetura_sow-good_-_Diagrama_de_componentes_1.png) |
|
|
\ No newline at end of file |
|
|
![Image](https://tools.ages.pucrs.br/sow-good/wiki/-/raw/main/Arquitetura_sow-good_-_Diagrama_de_componentes_1.png)
|
|
|
|
|
|
# Modelo da Arquitetura usada pelo Aplicativo
|
|
|
|
|
|
O modelo escolhido para ser utilizado na comunicação entre os componentes foi o modelo MVVM. A camada Model( Modelo ) não conhece a View( Camada de apresentação ) e vice-versa, na verdade a View conhece a ViewModel e se comunica com ela através do mecanismo de binding.
|
|
|
|
|
|
A View, atravéz do databinding, interage com a ViewModel notificando a ocorrência de eventos e o disparo de comandos. A ViewModel por sua vez, responde a esta notificação realizando alguma ação no modelo; seja obtendo alguma dado, atualizando ou inserindo informações no modelo.
|
|
|
|
|
|
* **View:** A responsabilidade da View é definir a aparência ou estrutura que o usuário vê na tela;
|
|
|
|
|
|
* **ViewModel:** A responsabilidade da ViewModel no contexto do MVVM, é disponibilizar para a View uma lógica de apresentação. A View Model não tem nenhum conhecimento específico sobre a view, ou como ela implementada, nem o seu tipo. A ViewModel implementa propriedades e comandos, para que a View possa preencher seus controles e notifica a mesma, caso haja alteração de estado; seja através de eventos ou notificação de alteração;
|
|
|
|
|
|
* **Model:** o Model no MVVM, encapsula a lógica de negócios e os dados. O Modelo nada mais é do que o Modelo de domínio de uma aplicação, ou seja, as classes de negócio que serão utilizadas em uma determinada aplicação. O Modelo também contém os papéis e também a validação dos dados de acordo com o negócio, cuja aplicação em questão visa atender.
|
|
|
|
|
|
![Image](https://miro.medium.com/v2/resize:fit:1400/0*nclq7xrDYpgC73hN.png) |
|
|
\ No newline at end of file |