Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Prévia do material em texto

Padrões de projeto de software são recursos utilizados para melhorar a qualidade dos projetos e têm o objetivo de fornecer boas práticas para problemas encontrados em diversas atividades no desenvolvimento de softwares. Existem algumas topologias que os definem, e os processos de criação dos objetos são abstraídos dos padrões de projetos. O objetivo, portanto, é que os padrões façam com que o sistema se torne independente da mesma forma como são os seus objetos. Nesse contexto, disserte como cada um dos 4 grupos de padrões pode modificar a arquitetura de software.
Sabemos que não devemos resolver cada problema a partir de princípios elementares ou do zero, mas sim, reutilizar soluções que funcionaram no passado, e que programadores avançados os utilizam repetidamente em seus projetos. 
Sendo assim, os padrões de projetos proporcionam elementos que conduzem ao reaproveitamento de soluções, e não apenas a reutilização de código.
Os padrões de projetos tornam mais fácil reutilizar soluções e arquiteturas bem sucedidas para construir softwares orientados a objetos de forma flexível e fácil de manter, reduzindo a complexidade do processo de projetar software.
Escolher o padrão que melhor soluciona um problema do projeto não é uma tarefa fácil, e após sua(s) escolha(s) é necessária conhecer como utilizá-lo(s).
Diante disso, podemos levar em consideração algumas características dos padrões.
- Padrões estruturais, explicam como montar objetos e classes em estruturas maiores, mas ainda mantendo essas estruturas flexíveis e eficientes. Permite a colaboração de objetos de interfaces incompatíveis. 
Os padrões de classes utilizam a herança para compor interfaces ou implementações, e os de objeto ao invés de compor interfaces ou implementações, eles descrevem maneiras de compor objetos para obter novas funcionalidades. A flexibilidade obtida pela composição de objetos provém da capacidade de mudar a composição em tempo de execução o que não é possível com a composição estática (herança de classes).
- Padrões comportamentais, são voltados aos algoritmos e a designação de responsabilidades entre objetos. Eles não descrevem apenas padrões de objetos ou de classes, mas também os padrões de comunicação entre os objetos. 
Os padrões comportamentais de classes utilizam a herança para distribuir o comportamento entre classes, e os padrões de comportamento de objeto utilizam a composição de objetos em contrapartida a herança. Alguns descrevem como grupos de objetos que cooperam para a execução de uma tarefa que não poderia ser executada por um objeto sozinho.
Sua utilização, auxilia na equipe de desenvolvimento de modo que possam se dedicar apenas com a forma que eles se comunicam e podendo concentrar o tempo restante em outros detalhes.
Como aplicabilidade desse padrão podemos citar:
- Para implementar as partes invariantes de um algoritmo e deixar para subclasses a implementação da parte variante.
- Para fatorar o comportamento semelhante entre subclasses numa superclasse evitando-se assim a duplicação de código.
- Para controlar extensões de classes com métodos "gancho".
- Padrões para persistência, descrevem soluções para problemas de armazenamento de informações.
- Padrões para apresentação, definem soluções para problemas comuns no projeto de interface de software. 
Conhecer esses pontos comuns nos permite desenvolver soluções cada vez melhores e mais eficientes através de uma linguagem clara e sucinta.