Mais que algumas letras, a sigla MVC representa um dos padrões de software mais difundidos e utilizados atualmente. Neste post trato seus conceitos e sua aplicação utilizando de Ruby on Rails.
Continue a leitura e saiba mais!
Origem
Foi descrito pela primeira vez em 1979 por Trygve Reenskaug, que trabalhava na linguagem Smalltalk, na Xerox Palo Alto Research Center (PARC).
O que é MVC?
MVC (Model-View-Controller) é uma arquitetura de software que separa a aplicação em três camadas, sendo elas :
Model
É onde fica a lógica da aplicação, onde ocorre tratamento, validação dos dados e envio de e-mails. Basicamente ele sabe como fazer tudo, mas não quando.
Model - contact.rb : class Contact < ApplicationRecord validates_presence_of :name validates_presence_of :phone end
View
Ela exibe os dados ao usuário utilizando de HTML ou XML.
View - index.html.slim h1 Listing contatos table thead tr th Nome th Telefone th th th tbody - @contacts.each do |contact| tr td = contact.name td = contact.phone td = link_to 'Show', contact td = link_to 'Edit', edit_contact_path(contact) td = link_to 'Destroy', contact, data: { confirm: 'Are you sure?' }, method: :delete br = link_to 'New Contato', new_contact_path
Controller
Ele basicamente recebe requisições do usuário e redireciona para respectivas actions, que são métodos responsáveis por páginas específicas, controlando o que a página deve fazer e qual model e view usar.
Controller - contacts_controller.rb : class ContactsController < ApplicationController def index @contacts = Contact.all end end
Esse exemplo acima foi feito em Ruby on Rails mas a arquitetura MVC está em vários outros, como por exemplo, Laravel.
Dica: Por que o Docker não me deixa utilizar o Bundler?
Por que usar?
Com a estrutura MVC, o código fica mais organizado e legível, além de fornecer um padrão em comum com todos os frameworks que a utilizam. Desta forma um programador acostumado com a estrutura perderia menos tempo se contextualizando com o projeto.