Padrões de Projeto
André Luiz Vannucci RA: 12647202
Vitor Marchetti Orsolini RA: 12046819
Padrão Singleton:
O padrão Singleton é utilizado com objetivo de reduzir a complexidade de inicialização de objetos que não mantém estado e podem ser reutilizados em todo o sistema. Com esse padrão é minimizado o quantidade utilizada de memória e ciclos de processamento para inicializar, alocar e desalocar memória.
Esse padrão é altamente recomendado para classes de serviço, utilitários e configurações, já que essas classes muitas vezes não mantém estado ou quando mantém, esse estado é final ou seja é inicializado uma unica vez como o exemplo de propriedade de configuração do sistema.
Padrão Criteria:
O padrão Criteria tem como objetivo descomplicar a busca de informações em coleções de dados. Desta forma é aplicado a orientação a objetos de forma que as implementações ficam bem encapsuladas e de forma bem atômica, ou seja, cada implementação tem uma única responsabilidade, facilitando os testes para garantir o funcionamento do projeto.
Como já dissemos este padrão é utilizado quando você deseja aplicar uma busca em coleção de dados utilizando o poder da oritentação a objetos.
Padrão Adapter:
O padrão Adapter tem como objetivo conectar dois micro sistemas com objetivo de complementar ou integrar um sistema com outro. É muito utilizado em frameworks com o objetivo de permitir que o desenvolvedor insira ou troque um código/comportamento do framework. É muito utilizado para realizar intregrações entre módulos sem criar a dependencia do core do sistema com outros módulos e a fácil troca de cada pedaço. Pode ser entendido os limites do core do sistema como peças de quebra-cabeça no qual a qualquer momento você pode trocar uma peça desde que ela respeite o protocolo da vaga ou seja é utilizado o conceito de interface da oritentação a objetos e dessa forma não se cria a dependencia entre o core do sistema e os demais módulos.