# Padrões em Front-ends
Bacherelado em Ciências da Computação - Instituto de Matemática e estatística da Universidade de São Paulo
- Aluno: Francisco Eugênio Wernke
- Orientador: Fabio Kon
- Coorientadores: João Daniel Francisco e Renato Cordeiro
# Monografia
# Introdução
Este site visa documentar a criação do Trabalho de Conclusão de Curso sobre Padrões Arquiteturais para interfaces (Front-ends).
# Contextualização
Ao longo do tempo, desenvolvedores criaram várias soluções diferentes para problemas que se repetem em vários contextos. A partir destas soluções, extraímos vários aprendizados e conseguimos discernir as que são:
- Fáceis de serem compreendidas;
- Escalam bem;
- São reutilizáveis para vários contextos;
- São enxutas e simples.
Essas soluções ganharam a alcunha de Padrões Arquiteturais (Design Patterns). São padrões pois aparecem diversas vezes em várias bases de código e são arquiteturais pois organizam o código para um determinado propósito.
# Proposta
Este projeto pretende fornecer um ferramental (ou toolbox) composto de padrões de projetos para a construção de interfaces. Discutiremos padrões de organização de código que são comumente usados para o controle, organização e contextualização de informações e visualizações interativas. Há um grande conjunto de padrões que dizem respeito ao leiaute da interface, porém vamos tratar somente da organização do código.
O meio de propagação deste material será um curso, composto por aulas direcionadas ao público já letrado em Ciências da Computação e Engenharia de Software. Este curso pretende, como introdução, explicar a importância deste ferramental e, posteriormente, aprofundar-se em vários Padrões Arquiteturais de Front-end. A cada aula, teremos um enfoque em determinado Padrão Arquitetural.
# Objetivos
Este trabalho pretende:
- Convencer o leitor que o uso de padrões arquiteturais em interfaces leva à melhor manutenção, eficiência e escalabilidade do código, dentre outras vantagens;
- Criar uma documentação fácil de ser consultada por qualquer desenvolvedor de interfaces;
- Apresentar exemplos de uso, vantagens e desvantagens de uma lista de padrões arquiteturais em interfaces;
- Criar o material de apoio para um curso de padrões arquiteturais, com conteúdo suficiente para o curso ser ministrado a partir deste material.