Questões de Concurso
Comentadas sobre padrões de projeto (design patterns) em arquitetura de software
Foram encontradas 502 questões
No design, o padrão GRASP controller visa definir as interações entre objetos e atribuir responsabilidades às classes.
I. Em situações em que classes precisam trabalhar juntas, mas isto não está sendo possível porque suas interfaces são incompatíveis, pode-se utilizar este design pattern que permite converter a interface de uma classe em outra interface esperada pelos clientes de forma que classes com interfaces incompatíveis possam interagir.
II. Este design pattern pode ser utilizado quando se deseja definir uma dependência um-para-muitos entre objetos de modo que quando um objeto muda o estado, todos seus dependentes são notificados e atualizados.
III. Em situações em que se deseja acessar o conteúdo de uma coleção sem expor sua representação interna utiliza-se este design pattern que permite prover uma interface única para varrer coleções diferentes.
Os padrões descritos nos itens I, II e III são, respectivamente,
Um padrão (pattern) tem pelo menos os seguintes elementos: nome, problema, solução e consequência.
Em virtude da característica de combinatoriedade, um padrão não permite a construção de outro padrão derivado.
Design Pattern, técnica de desenvolvimento de soluções eletrônicas, estabelece determinada ordem na elaboração e implantação de desenvolvimento de algoritmos, independentemente da sua complexidade e da linguagem de programação na qual será implantado.
I. Fornece uma interface para a criação de uma família de objetos relacionados ou dependentes sem fornecer os detalhes de implementação das classes concretas.
II. Converte uma interface de uma classe existente em outra interface esperada pelos clientes. Permite que algumas classes com interfaces diferentes trabalhem em conjunto.
III. Separa uma implementação de sua abstração, de forma que ambas possam variar independentemente.
IV. Separa a construção de um objeto complexo de sua representação, de modo que o mesmo processo possa criar representações diferentes.
Tratam, respectivamente, dos design patterns:
.Os padrões estruturais, tais como o Bridge e o Proxy, abstraem o processo de instanciação, ajudando a tornar um sistema independente de como os seus objetos são criados. Já os padrões de criação, como Prototype e o Builder, se preocupam com a forma como as classes e os objetos são criados para formar estruturas compostas maiores.
O uso do padrão Builder tem a vantagem de permitir acesso controlado à instância de uma classe, uma vez que ele encapsula a classe, criando um ponto global único de acesso.
O padrão Adapter será mais apropriado que o Façade quando for necessário fornecer uma interface unificada para um conjunto de interfaces em um subsistema.
Uma das aplicabilidades do padrão Iterator é a representação de hierarquias do tipo todo-parte de objetos, de modo que a aplicação seja capaz de ignorar a diferença entre composições de objetos e objetos individuais, haja vista que todos os objetos tratados no padrão têm comportamento uniforme.
O padrão Don’t Talk to Strangers é utilizado para fortalecer o polimorfismo, realizado pelo padrão Polymorphism. O objetivo de ambos os padrões é substituir um componente sem afetar outro componente, embora o primeiro implemente o polimorfismo em nível de classe e o segundo lide com alternativas embasadas no tipo de componente.
O padrão Indirection é utilizado para atribuir responsabilidades à classe que tiver a informação necessária para satisfazer a responsabilidade
Nos casos em que a solução oferecida pelo padrão Expert violar a alta coesão e o baixo acoplamento, o padrão adequado a ser aplicado será o Creator, que atribui um conjunto altamente coesivo de responsabilidades a uma classe artificial que não representa um conceito do domínio do problema.
O padrão Pure Fabrication objetiva designar a responsabilidade unívoca pela criação de uma nova instância de uma classe.
Os padrões CORBA auxiliam a comunicação lógica entre objetos em arquiteturas de objetos distribuídos mesmo onde objetos implementados possuam diferentes linguagens ou plataformas.
O controle de como e quando os clientes acessam a instância pode ser obtido por meio da operação getInstance.
Esse padrão permite o refinamento de operações e de representação, pois as várias classes singleton obedecem à mesma interface, o que permite que um singleton seja escolhido para trabalhar com determinada aplicação em tempo de execução.
Padrões de projeto envolvem combinações de classes e algoritmos associados que cumprem com propósitos comuns de projeto.