OS MÉTODOS AVANÇADOS DE PROGRAMAÇÃO
Por: Thaynah Costa • 23/12/2018 • Pesquisas Acadêmicas • 945 Palavras (4 Páginas) • 167 Visualizações
Capítulo 1 – Orientação a Objeto
Motivação da criação de Padrão de Projeto/Design Pattern: Padronizar a resolução de
problemas recorrentes no desenvolvimento e manutenção de software orientado a objetos
Classes: São moldes contendo atributos e métodos
Objetos: São os produtos desses moldes
Abstração: Definição de entidades do mundo real
Encapsulamento: Técnica para esconder os detalhes internos, atributos private, getters e
setters
Herança: Classe que herda características de outra classe; JAVA (extends) , C# ( : Funcionario )
Reusabilidade: Reduzir a complexidade e o tempo de desenvolvimento do projeto, ideias
reimplementadas várias vezes, utiliza técnicas e padrões; Proporciona facilidade de
manutenção, evolução, entendimento e independência entre componentes.
Vantagens: Confiança, manutenção, modularidade, padronização, produtividade
Tipos de reuso: Componentes plugáveis, frameworks e sistema OO
Reuso X Reusabilidade: Reuso utiliza funções providas pelo componente, feito através de
interfaces, não deve haver modificações no código do componentes, ato ou processo de reusar
um módulo ou componente com propriedade de reusabilidade; Reusabilidade: Grau de
facilidade ou potencialidade que um componente possui para ser reusado, alto coesão e baixo
acoplamento
Capítulo 2 – Padrões Arquiteturais
Padrões Arquiteturais de Software: Modelos de arquitetura de software que define uma
organização estrutural de alto nível; Contém subsistemas pré-definidos; Especifica a
responsabilidade de cada subsistema; Inclui regras e diretivas para o relacionamento entre
eles, como interagem e como usam outros elementos; Elementos interagem com outros por
meio de interfaces
Arquitetura envolve: Desenvolvedores, gerentes e mantenedores
Representação: Através de caixas e linhas, sistemas similares apresentam arquiteturas
similares
Tipos de padrões arquiteturais: Arquiteturas em Camadas (Layers – Evitar a proliferação
descontrolada de componentes), Arquitetura em partições, Arquitetura MVC (Sistemas
interativos, facilitar a adaptação de interface do usuário)
Arquitetura em Camadas: Ajuda a estruturar aplicações que podem ser decompostas em
grupos de subtarefas, cada grupo está em um nível de abstração; (Ex: Protocolo de Rede: Cada
camada trata de um aspecto específico e usa serviços de outra camada). Cada camada irá
realizar a sua tarefa e o fluxo irá seguir entre elas.
Baixo nível: Operações com hardware/sinais elétricos; Alto nível: Funcionalidades visíveis pelo
usuário por telas
Passos da abordagem de arquitetura em camadas:
1. Definir o critério de abstração para o agrupamento de tarefas;
2. Definir o número de níveis de abstração, conforme os critérios;
3. Nomear as camadas e atribuir tarefas;
4. Especificar os serviços a serem disponibilizados;
5. Refinar a criação das camadas (repetir de 1 a 4);
6. Especificar uma interface para cada camada;
7. Estruturar as camadas;
8. Especificar a comunicação entre as camadas adjacentes;
9. Dissociar as camadas adjacentes;
10. Projetar uma estratégia de erro.
Utilização da arquitetura em camadas: Máquinas virtuais (JVM), APIs, sistema de informação
Benefícios: Reuso, padronização, dependências locais (Facilitando testes),
permutabilidade (Possibilita a modificação da implementação da cama mantendo uma
interface semelhante)
Problemas: Baixa eficiência (Dados têm de trafegar entre várias camadas); Trabalho
desnecessário, dificuldade em estabelecer granularidade
Arquitetura em Partições: Divide um sistema em partes com baixo acoplamento, pouca ou
nenhuma dependência; Difere da de camadas devido a interação entre suas partes (Nas
camadas dependem uma das outras, as partições podem ser independentes);
OBS: A combinação da arquitetura de partição com a de camadas é ideal
Arquitetura MVC: Model View Controller – Preocupa-se com a interação entre as partes do
sistema; Divide em 3 componentes: Modelo (Regras de negócio e dados), views (mostra
informações ao usuário) e controllers (manipulam entradas)
Views e controllers compreendem as operações da interface do usuário
Funcionamento MVC:
1. Através da View o Usuário realiza uma Resquisição para a Controladora;
2. A Controladora identifica a Ação solicitada e repassa ao Modelo as suas
necessidades;
3. O Modelo realiza as operações solicitadas (consultas, cálculos, verificações, etc.) e
retorna para a Controladora;
4.
...