Questões de Arquitetura de Software - Padrões de projeto (Design Patterns) para Concurso
Foram encontradas 534 questões
I - In Object-Oriented Programming, the Bridge pattern is used to separate the interface of class from its implementation, so that either can be varied separately. At first sight, the bridge pattern looks much like the Adapter pattern, in that a class is used to convert one kind of interface to another. However, the intent of the Adapter pattern is to make one or more class interfaces look the same as that of a particular class. The Bridge pattern is designed to separate a class interface from its implementation, so that you can vary or replace the implementation without changing the client code.
II - First normal form (1NF) means that a table has no multivalued attributes or composite attributes. (A composite attribute contains other attributes and can therefore be divided into smaller parts.) All relational tables are by definition in 1NF, because the value of any column in a row must be atomic—that is, single valued.
Pode-se afirmar que:
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.