O documento descreve o padrão MVC, separando as responsabilidades em três camadas: Model (entidades, regras de negócio), View (telas, CSS, Javascript) e Controller (comunica Model e View, sem lógica de negócio). O padrão foi criado em 1979 para Smalltalk e popularizado pelo framework Rails, melhorando a manutenibilidade e testabilidade do código.
2. self.description
- Bruno de Oliva Bemfica
- Trabalho com TI há 12 anos
- Já trabalhei com C, Java, PHP, C#, VB.NET, Ruby e
Python
- Agilista (se não é agile, não funciona para software)
- Fã de TDD, BDD, DDD, OMG, BBQ e todas essas
siglas que ninguém entende
- Um dos membros fundadores do PyTchê (
www.pytche.org)
3. Design patterns
Padrões de projeto
Criados em 1970 por Cristopher Alexander
Trazidos para a programação em 1987 por
Kent Beck (sempre ele) e Ward
Cunningham (outro monstro)
Popularizados em 1995 por Erich Gamma,
Richard Helm, Ralph Johnson e John
Vlissides (GoF)
4. Padrões GRASP
Sigla para General Responsibility
Assignment Software Patterns
Maior obra sobre: “Utilizando UML e
padrões de projeto” - Craig Larman
Padrões de design de software e filosofia
de arquitetura
5. Padrão MVC
Descrito em 1979 por Trygve Reenskaug (dev
Smalltalk na Xerox)
Model-View-Controller
Padrão de arquitetura
Separação de responsabilidades
Funções diferentes
Popularizado com o Rails
6. Model
Fazem parte da camada model:
Entidades
Repositórios
Camada de acesso a banco
Regras de negócio
7. Controller
Funciona como um proxy
Comunica views e models
NÃO POSSUI LÓGICA DE NEGÓCIO
Pode conter lógica de binding
8. Views
Telas do sistema ou páginas HTML
Chamadas e retornadas pelos controllers
Contém chamadas a CSS e Javascripts
Pode conter lógica de exibição