GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Mindmap

Arquitetura MVC (Model View Controller)

Michel Souza Engenharia de software Portugiesisch

Arquitetura MVC (Model View Controller)

Inhalt der Mindmap

Arquitetura MVC (Model View Controller)

  1. Características

    • Padrão arquitetural de software para implementar interfaces de usuário
    • Fornece uma maneira de dividir a funcionalidade envolvida na manutenção e apresentação dos dados de uma aplicação web
    • Motivação: durante a década de 70, surgiu a necessidade de criação de uma arquitetura para ser utilizada em projetos de interface visual na linguagem de programação Smalltalk
      • Ideia original era organizar o código, separar responsabilidades, aumentar a manutenibilidade
      • Promover um baixo acoplamento e uma alta coesão, fomentar a reusabilidade do código e tornar o sistema escalável
    • Promove a estrita separação de responsabilidades entre os componentes de uma interface gráfica
      • Modelo: responsável pela manutenção do estado da aplicação
      • Visão: responsável pela exibição de parte deste modelo para o usuário
      • Controlador: responsável pela coordenação entre atualizações no modelo e interações com o usuário
  2. Camadas

    • Modelo (Model)
      • Encapsula as principais funcionalidades (LÓGICA DE NEGÓCIOS) e dados do sistemas
      • Notifica suas visões e respectivos controladores quando surge alguma mudança em seu estado
        • Responsável pela manutenção do estado da aplicação
        • As notificações permitem que as visões produzam saídas atualizadas e que os controladores alterem o conjunto de comandos disponíveis
      • Um modelo pode estar associado a N visões
      • Camada responsável pela representação dos dados, provendo meios de acesso (leitura/escrita)
        • Manipulação de dados (leitura, escrita ou validação de dados)
        • Gerencia não só os dados, mas também os comportamentos fundamentais da aplicação: representados por regras de negócio
      • Encapsula objetos de conteúdo
    • Visão (View)
      • Responsável pela interação com o usuário, sendo responsável apenas pela exibição de dados
      • Trata-se de uma representação visual do modelo
        • Permite apresentar, de diversas formas, os dados para o usuário
        • A visão não sabe nada sobre o que a aplicação está atualmente fazendo, tudo que ela faz é receber instruções do controle e informações do modelo e, então, exibi-las
      • Prepara dados do modelo
      • Solicita atualizações do modelo
    • Controlador (Controller)
      • Controla o fluxo da aplicação, interpretando os dados de entrada e coordenando/orquestrando as manipulações do modelo e as interações com o usuário
        • O controlador é responsável por solicitar as mudanças de estado, mas quem realiza a mudança é o modelo
        • Atende às requisições do usuário e seleciona o modelo e a visão que o usuário usará para interagir com o modelo
        • O usuário interage com controladores - por meio de visões - que interpretam eventos e entradas enviadas (Input)
          • Mapeia ações do usuário em comandos que são enviados para o modelo
          • E/ou para a visão para efetuar as alterações apropriadas (output)
      • Trata-se de uma camada intermediária entre a Visão e o Modelo
        • Seleciona comportamento do modelo
        • Seleciona a resposta da visão
        • Gerencia as requisições dos usuários
      • Em geral, há um controlador para cada visão, apesar de poder existir várias controladoras para uma mesma visão
      • Define o comportamento da aplicação, interpretando as ações do usuário e mapeando-as em chamadas do modelo
        • Em um cliente de aplicações web, essas ações do usuário poderiam ser cliques em botões ou seleções de menus
        • As ações realizadas pelo modelo poderiam ser ativar processos de negócio ou alterar o estado do modelo
  3. Diferença entre Arquitetura em Três-Camadas e Arquitetura MVC

    • Arquitetura em Três-Camadas
      • A camada do cliente jamais se comunica diretamente com a camada de dados
      • Toda comunicação deve obrigatoriamente passar pela camada intermediária
      • Arquitetura linear
    • Arquitetura MVC
      • A camada de visão se comunica de volta com o modelo e com o controlador para reportar o seu estado
      • Arquitetura triangular
        • A visão interage com o controle por meio de eventos
        • O controle notifica o modelo sobre uma mudança
        • O modelo modifica seu estado e notifica suas visões e controladores
        • As visões podem consultar diretamente o estado do modelo, sem interferência do controlador

Bilder und Dateien der Mindmap

  • Arquitetura MVC (Model View Controller)

Informationen

Beschreibung
Engenharia de software (Arquitetura de software) Mindmap am Arquitetura MVC (Model View Controller), erstellt von Michel Souza am 03/07/2018.
Erstellt von
Michel Souza
Aufrufe
0
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck