O que é melhor para uma aplicação acoplamento alto ou acoplamento fraco qual a afirmativa está incorreta?

1.

Qual padrão é de arquitetura? GoF GRASP MVC Flower Gamma

2.

Analise as sentenças abaixo sobre os grupos de padrões da família GoF e, em seguida, assinale a alternativa correta: I. Os Padrões Comportamentais são projetados para organizar, gerenciar e combinar diferentes comportamentos. Podemos citar os seguintes padrões pertencentes a esse grupo: Chain of Responsibility, Command e Interpreter. II. Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões estáticas para escolher, por exemplo, quais objetos instanciar ou a quais classes delegar responsabilidade. São doze os padrões de criação: Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy, Abstract Factory, Builder, Factory Method, Prototype e Singleton. III. Os Padrões Estruturais definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua. Apenas as sentenças II e III estão corretas Todas as sentenças estão corretas Apenas as sentenças I e III estão corretas Apenas a sentença II está correta Apenas as sentenças I e II estão corretas

3.

O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado Strategy Builder State Composite Flyweight

4.

(FCC-2011) Os design patterns são de uso exclusivo em processos de desenvolvimento de soluções orientado a objetos, já que os objetos são a mais adequada abstração para o reúso. consistem em conjuntos de classes que um usuário instancia para utilizar seus métodos. Após a chamada ao método, o controle do fluxo da aplicação retorna para o usuário. são projetos de arquitetura para um domínio específico de aplicação e sempre trazem componentes predefinidos que envolvem código de programação. são aplicações propriamente ditas, normalmente construídas pela integração de diversos frameworks. podem ser modelados utilizando-se a linguagem UML que fornece um meio eficiente de modelar padrões de projeto representando-os como colaborações.

5.

Para facilitar a manutenção da aplicação, há um design pattern que tem como objetivo principal centralizar o acesso aos dados em uma única camada. Esse design pattern é o DAO MVC Business Object DTO Application Service

6.

A família de padrões GoF é dividida em três grupos principais de padrões, a saber: Padrões Comportamentais; Padrões de Criação; Padrões Estruturais Padrões de Processo; Padrões de Singularidade; Padrões de Prototipação

Padrões Estruturais; Padrões de Processo; Padrões de Responsabilidade Padrões de Proxy; Padrões de Criação; Padrões de Encadeamento Padrões de Criação; Padrões Metodológicos; Padrões de Ponte 7.

Considere as afirmativa abaixo sobre o padrão Builder: I ) É utilizado na instanciação de objetos complexos. II)É visto como um construtor especializado, que irá executar e avaliar diferentes regras de negócio e demais particularidades relacionadas com a criação de um novo objeto. III )A idéia é atribuir a responsabilidade de criação do objeto complexo a outra classe, esta classe irá armazenar todas as configurações e regras necessárias para a instanciação do novo objeto. As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, III, estão corretas e II errada As afirmativas estão todas corretas As afirmativas I, II, estão corretas e a afirmativa III está errada. As afirmativas I, II, III estão incorretas

8.

(CESGRANRIO - 2009) Por motivo de segurança, deseja-se adicionar registro (log) das operações efetuadas no sistema de contabilidade de uma empresa. O arquiteto do sistema decide que deve existir somente uma instância de uma classe de registro (log) e que esta será o ponto de acesso global para os demais componentes do sistema. Que padrão de projeto pode ser utilizado nesse caso? Visitor. Singleton. Bridge. Memento. Iterator.

9.

Consideram as afirmativa abaixo sobre o padrão protype I - Declara um método chamado clone na superclasse abstrata do modelo (Prototype). Em função desta declaração, cada classe concreta derivada deve ser capaz de gerar uma nova instância de si próprio. II - , Entre as aplicações para este padrão de projeto está a facilidade de instanciar classes em tempo de execução. III Quando as instancias de uma classe apresentam poucas combinações de estados, pode ser mais conveniente definir previamente um conjunto de protótipos e cloná-los, sempre que foi necessário. As afirmativas I, II, III estão incorretas As afirmativas I, III, estão corretas e II errada As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas estão todas corretas As afirmativas I, II, estão corretas e a afirmativa III está errada.

10. O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em programação orientada a objetos. Sobre ele podemos afirmar I - Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante toda a execução da aplicação. II A sua estrutura é bastante simples, existe apenas uma classe chamada Singleton, que define um método chamado Instance, responsável poder retornar aos clientes à única instancia da classe. III ¿ Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os objetos criados e evitar acesso público; As afirmativas I, III, estão corretas e II errada As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, II, III estão incorretas As afirmativas I, II, estão corretas e a afirmativa III está errada. As afirmativas estão todas corretas 11. Assinale a afirmativa correta sobre o padrão Builder: Deve-se é separar no construtor da própria classe a lógica para criação de um objeto e concentrar a lógica de criação em uma hierarquia de herança. Um dos principais objetivos do padrão Builder é separar o algoritmo de criação de um objeto complexo tanto da especificação, quanto das partes que o compõem. Deve-se é embutir no construtor da própria classe a lógica para criação de um objeto ou ainda distribuir a lógica de criação em vários métodos adicionais. A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais

condições, fica comprometida é uma abordagem que não facilita a criação de objetos com diferentes configurações e representações, tornando o código dependente a complexidade das classes relacionadas 12. Qual dos padrões GOF abaixo é mais indicado quando necessitamos criar objetos de uma determinada classe, os quais só têm alguns poucos estados possíveis e é melhor copiá-los e aproveitar o seu estado atual do que criar um novo objeto no estado inicial. Abstract Factory Prototype Singleton Builder Decorator 13. [BNDES - CESGRANRIO 2009]A o consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a. O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes. Ambos são padrões estruturais que possuem alguns atributos em comum. Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto. O Adapter é inferior ao Bridge porque não evita a replicação de código. O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações. 14. Dentre as opções apresentadas assinale qual o padrão é bastante utilizado para compatibilizar classes implementas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente. Padrão Decorator Padrão Composite Padrão Decorator Padrão Adapter Padrão Flyweight 15. Que padrão estrutural anexa dinamicamente responsabilidades adicionais a um objeto. Provê uma alternativa flexível ao uso de herança como mecanismo de extensão de funcionalidade:

Bridge Composite Facade Decorator Adapter 16. Qual o nome do padrão de projeto que pode ser utilizado para permitir que uma hierarquia de abstrações e suas diferentes implementações possam variar independentemente? Bridge Flyweight

Façade Adapter Proxy

17. Assinale a alternativa correspondente ao padrão de projeto utilizado para adicionar responsabilidades dinâmicas a objetos. Decorator Façade Bridge Adapter Composite

18. O Padrão de Projeto Estrutural (GOF) que se apresenta com o formato de uma árvore (estrutura de dados) quando é representado por um Diagrama de Objetos (UML) chama-se: Composite TreeView Decorator Bridge Memento

19. O objetivo do padrão Flyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela; Gamma et al (2000). São várias as recomendações para seu uso. Analise as alternativas abaixo e marque a alternativa que NÃO se refere a uma recomendação para uso do padrão Flyweight. Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados extrínsecos são removidos. A aplicação não depende da identidade do objeto. Uma aplicação utiliza um grande número de objetos. O cliente não precisar conhecer as regras do negócio. Os custos de armazenamento são altos por causa da grande quantidade de objetos.

20. As principais aplicabilidades do padrão command de projeto são: I) permitir fácil inclusão de novos comandos; II) permitir tratamento de requisições concorrentes, manter histórico de execução de comandos; III) suportar operações para desfazer comandos e; IV) evitar o acoplamento direto entre classes e serviços. Podemos a firmar com certeza que: As afirmativas I, III, IVestão corretas e II errada. As afirmativas I, II, III e IV estão corretas. As afirmativas I, II, IV estão corretas e a afirmativa III está errada. As afirmativas II, III ,IVestão corretas e a afirmativa I está errada. As afirmativas I, II, III estão erradas e IV correta.

21. Em muitas situações de programação, é possível resolver o problema de acesso a um determinado objeto com a utilização de uma referência a variável desejada, este é um mecanismo de simples utilização e bastante conhecido pelos desenvolvedores de software. No entanto, quando é necessário utilizar um mecanismo mais versátil e sofisticado, por exemplo, - para postergar a instanciação de um objeto - para controlar o acesso ao mesmo - para acessá-lo em uma máquina remota - para gravá-lo em uma base de dados, a alternativa de utilizar uma referência ao objeto não é mais apropriada. - utilização de uma superclasse abstrata para definir a interface da classe desejada e uma classe derivada adicional derivada. Marque a alternativa que indica o padrão de projeto utilizado segundo a descrição acima.

Proxy Acoplamento Flyweight Façade Coesão

22. (FESMIP-BA - 2011) O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado Composite. State. Flyweight. Builder. Strategy.

23. (FCC - 2011) No contexto dos padrões de projeto: I. Oferecer uma interface simples para uma coleção de classes. II. Desacoplar uma abstração de sua implementação para que ambas possam variar independentemente. Correspondem respectivamente a Adapter e Façade. Bridge e Adapter. Composite e Bridge. Façade e Bridge. Façade e Composite.

24. Os padrões de projetos, quando aplicados ao desenvolvimento de aplicações, fornecem meios de descrever soluções comuns para problemas comuns, resultando em redução de tempo gasto com o desenvolvimento e melhoria da qualidade da aplicação. (FCC - 2009) Analise: I. É o responsável pela especificação dos tipos de objetos a serem criados usando uma "instância" prototípica e pela criação de novos objetos copiando este protótipo. II. Define uma interface de nível mais alto que torna o subsistema mais fácil de usar e fornece uma interface única para um subsistema com diversas interfaces; compõe o grupo de padrões estruturais. III. Integrante do grupo de padrões comportamentais, ele provê uma forma de acessar sequencialmente os elementos de um agregado de objetos, sem expor a representação interna desse agregado. IV. As consequências do uso deste padrão é que o encapsulamento é mantido, já que objetos usam sua própria informação para cumprir responsabilidades; leva ao fraco acoplamento entre objetos e à alta coesão, uma vez que objetos fazem tudo que é relacionado à sua própria informação. As afirmações correspondem, respectivamente, aos padrões Command, Singleton, Controller e Façade. Adapter, Façade, Command e Iterator. Prototype, Façade, Iterator e Expert. Controller, Expert, Singleton e Prototype. Command, Iterator, Singleton e Expert.

25. A implementação do padrão de projeto Chain of Responsability requer que cada objeto receptor de uma determinada solicitação tenha uma lógica para descrever os tipos de solicitação que é capaz de processar e como passar adiante aquelas que requeiram processamento por outros receptores. A delegação das solicitações pode formar uma árvore de recursão, com um mecanismo especial para inserção de novos receptores no final da cadeia existente. Marque a alternativa que NÃO identifica uma vantagem do padrão de projeto Chain of Responsability. As partes invariantes, conforme a situação, contexto ou problema a ser resolvido, podem ser redefinidas em classes abstratas gerando interconexão entre os objetos. Remetente e receptor não têm conhecimento explícito um do outro. Padrão libera um objeto de ter que conhecer qual o outro objeto que trata de uma solicitação.

Flexibilidade na atribuição de responsabilidades, ou seja, pode-se mudar a cadeia de objetos em tempo de execução, adicionando ou removendo objetos. Reduz a interconexão entre os objetos, ao invés de um objeto manter uma lista com todos os receptores candidatos, eles mantém uma referência única para o sucessor;

26. Analise as sentenças abaixo. I - A estrutura do padrão interpreter sugere que a modelagem do problema seja realizada através de uma gramática procedural. II - O padrão Interpreter tem como desvantagem definir uma classe para cada gramática, pois quando se tem muitas gramáticas, são difíceis de manter e administrar. III - No padrão de projeto Template Method as partes que podem variar, conforme a situação, contexto ou problema a ser resolvido, são redefinas nas classes derivadas (concretas). IV - O padrão de projeto Template Method sugere a implementação de um algoritmo fixo em uma superclasse abstrata onde se consegue alterar o comportamento do algoritmo, sem modificar sua estrutura lógica. Marque a opção correta. I - II - III II - III - IV III - IV I - III - IV I - II - IV

27. (CESGRANRIO - 2010) Um dos participantes da equipe de desenvolvimento de um framework deve implementar uma operação em uma das classes desse framework. Seja X o nome dessa classe. Essa operação implementa um algoritmo em particular. Entretanto, há passos desse algoritmo que devem ser implementados pelos usuários do framework através da definição de uma subclasse de X. Sendo assim, qual o padrão de projeto do catálogo GoF (Gang of Four) a ser usado pelo desenvolvedor do framework na implementação da referida operação, dentre os listados a seguir? Interpreter. Decorator. Template Method. Singleton. Observer.

28. A classe Handler é uma classe abstrata, portanto, não pode ser instanciada diretamente. Assim, para montar uma cadeia de objetos é necessário especializá-la em que tipo de classes? Assinale dentre as opções abaixo aquela que está correta. concretas; com método púbico; alto acoplamento; baixa coesão. Generalizada;

29. São exemplos de Padrões de Projeto Comportamentais: Interpreter, Chain of Responsibility e Observer Mediator, Strategy e Builder State, Flyweight e Decorator Singleton, Mediator e Strategy Command, Composite e Memento

30. (PETROBRAS - CESGRANRIO 2010) Um dos participantes da equipe de desenvolvimento de um framework deve implementar uma operação em uma das classes desse framework. Seja X o nome dessa classe. Essa operação implementa um algoritmo em particular. Entretanto, há passos desse algoritmo que devem ser implementados pelos usuários do framework através da definição de uma subclasse de X. Sendo assim, qual o padrão de projeto do catálogo GoF (Gang of Four) a ser usado pelo desenvolvedor do framework na implementação da referida operação, dentre os listados a seguir?

Template Method. Observer. Decorator. Singleton. Interpreter.

31. Memento:Captar e externalizar um estado interno de um objeto, de maneira que esse estado seja restaurado ao objeto em outro momento, sem violar seu encapsulamento (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza: Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos, mas não deve ser usado quando associado a percorrer arrays ou tabelas. tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário.

32. Command : Encapsula uma solicitação como um objeto, permitindo a parametrização de clientes com diferentes solicitações, o enfileiramento e o registro de solicitações e o suporte a operações que possam ser desfeitas. (Gamma et al., 2000). Sobre ele podemos afirmar com toda a certeza: Nesta abordagem o objeto que está realizando a chamada do método precisa conhecer com detalhes a implementação em relação asparente ao local, tempo e ao objeto que vai realizar uma determinada tarefa Este padrão de projeto oferece pouca flexibilidade na arquitetura do sistema, uma vez que não permite adição de novas funcionalidades esta abordagem é que o objeto que está realizando a chamada do método precisa conhecer com detalhes sobre seu funcionamento. O objetivo do padrão de projeto Command é encapsular chamadas de métodos. Os métodos, nesta abordagem devem ser padronizados e hierarquizados de forma que a implementação trabalhe novos objetos.

33. Considere a seguinte definição: "Define um objeto que encapsula o modo como um conjunto de objetos interage. Promove um acoplamento fraco entre objetos, evitando que referenciem diretamente um ao outro e permitindo que se possa variar a interação entre eles de modo independente.(Gamma et al., 2000)" Marque a alternativa que indica o nome do padrão relacionado: Singleton Observer Mediator Strategy Prototype

34. Assinale dentre as opções abaixo aquela que corresponde ao objetivo do padrão de projeto Command. Disponibilizar o uso do método private. disponibilizar chamadas de métodos. .encapsular chamadas de métodos. disponibilizar o acesso aos aobjetos encapsular chamadas dos objetos;

35. O problema de acessar elementos de coleções, matrizes ou estruturas de dados encadeados é bastante recorrente em programação. Assinale dentre as alternativas abaixo,aquela que oferece uma forma de percorrer este tipo de objeto agregado, sem conhecer seus detalhes de implementação. Padrão Memento; Padrão Mediator; Padrão Proxy; Padrão Visitor; Padrão Iterator;

36. O padrão de projeto Comand apresenta uma serie aplicabilidades. Assinale dentre as opções abaixo a unica que não esta correta. permitir fácil inclusão de novos comandos,permitir isições concorrentes, manter histórico de execução de comandos, suportar operações para desfazer comandos e, principalmente, evitar o acoplamento direto entre classes e serviços. permitir tratamento de requ permitir fácil inclusão de novos comandos Permitir em casos excepcionais o acoplamento direto entre classes e serviços; Manter histórico de execução de comandos; permitir tratamento de requisições concorrentes; Evitar o acoplamento direto entre classes e serviços;

37. O padrão de projeto State deve ser implementado não somente quando o comportamento de um objeto depende do seu estado, mas também quando a funcionalidade de um objeto possui _______________; Complete a lacuna com a opção correta. . padrão bridge; agreagações; padrão visitor; Atributos valorados; condicionais grandes;

38. Marque a alternativa que está relacionada ao padrão de projeto que é mais apropriado quando o comportamento de um objeto depende do seu estado e ele pode mudar seu comportamento em tempo de execução. Visitor Observer Strategy State Memento

39. Dentre as opções abaixo identifique aquela que corresponde ao padrão de projeto, cujo principal objetivo, é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas sem que haja necessidade de alterar sua implementação. State; Visitor; Criador; Strategy; Interpreter

40. considere a definição: O padrão Strategy define uma família de algoritmos , encapsula cada um deles , e torna-os intercambiáveis, permitindo assim que os algoritmos variem independentemente dos clientes que os utilizam (Gamma et al., 2000). Qual das alternativas é completamente verdadeira? O padrão de projeto acima deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado, podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais grandes. O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes

previamente concebidas, sem que haja necessidade de alterar sua implementação. A idéia principal do padrão acima é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído por outro, independente do cliente que o utiliza. O principal objetivo do padrão acima é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja necessidade de alterar sua implementação O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem dois aspectos, um dependente do outro. Encapsular tais aspectos em objetos separados permite que variem e sejam reusados separadamente;

41. considere a definição: Visitor: Representar uma operação a ser realizada nos elementos de uma estrutura de objetos. Visitor permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua (Gamma et al., 2000). Qual das alternativas é completamente verdadeira? A idéia principal do padrão acima é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído por outro, independente do cliente que o utiliza. O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem dois aspectos, um dependente do outro. Encapsular tais aspectos em objetos separados permite que variem e sejam reusados separadamente; O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação. O padrão de projeto acima deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado, podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais grandes. O principal objetivo do padrão acima é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja necessidade de alterar sua implementação

42. (COPEVE-UFAL - 2011) O diagrama de classes apresentado na figura não representa fielmente um buffer que passa por estados sucessivos de transformação. Em outras palavras, um buffer, que está inicialmente vazio, depois pode ficar parcialmente cheio e, possivelmente, pode ficar cheio.

Dentre as opções apresentadas a seguir, qual o padrão de projetos que melhor se adequaria para modelar essa característica dinâmica do buffer? Dynamic behavior. Singleton. State. Composite. Mediator.

43. qual das afirmativas abaixo não é verdadeira. Dessa forma o padrão Acoplamento Baixo é utilizado para atribuir responsabilidades de modo que o acoplamento permaneça baixo. acoplamento é o grau de dependência entre dois artefatos. É uma medida de quão forte um elemento está conectado ou tem conhecimento de, ou depende de outros elementos. Um alto acoplamento aumenta a dificuldade de entendimento da solução proposta, a diminuição das chances de reutilização, além de aumentar a complexidade da aplicação. O ideal que dois artefatos tenham alta dependência. Isto garante um bom desempenho e facilita a manutenção dos artefatos. Um acoplamento definido para que classes que contenham métodos que possibilitem alterações de requisitos deve ser a menor possível, desta forma se favorece futuras manutenções.

44. Pode-se sucintamente definir o padrão Variation do GRASP como: Criar camadas para melhor organizar a aplicação. Criar classes altamente coesas. Criar classe que resolva problemas de inconsistência, criando adaptações para saná-las. Criar classes que permitam sobrecarga e sobreescrita. Criar classes controladoras.

45. Os 9 padrões definidos pela General Responsability Assignment Software Pattener são? 1.Creator; 2.Decoretor; 3.FlyWeight; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation. 1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Facade. 1.Singleton; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation. 1.Creator; 2.High Coesion; 3.Low Coupling; 4.Buider; 5.Bridge; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation. 1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation.

46. Marque a alternativa que está relacionada ao padrão de projeto que é auxiliar a reduzir o impacto de modificações em uma aplicação. Observador Acoplamento fraco Especialista da informação State Criador

47. considere as classes e métodos abaixo: E escolha a opção correta sobre a gravura: E escolha a opção correta sobre a gravura:

sobre o acoplamento e coesão : Existem acoplamentos das classes que foram gerados de forma desnecessária pois poderiam ser incorporados em um único método e isto iria facilitar a manutenção e o entendimento. O método void imp_NF (cod) poderia ser implementado na classe NF sem envolver mais nenhuma classe. Não tendo outros médotos o acoplamento não existiria o que é o desejável. método void imp_NF (cod) não deve ser implementado na classe NF. Obteria-se um projeto melhor se NF fosse acoplada a classe Cliente seus métodos incorporados na classe cliente. Pode-se garantir um melhor acoplamento Existem acoplamentos que poderiam ser evitados, considerando apenas o diagrama, assim o método de imprimir nota fiscal, dando-se o código de cliente, pode ser mapeado de forma diferente melhorando-se o acoplamento. Existem acoplamentos das classes cliente e Nota fiscal. E Nota fiscal e Item de Nota fiscal. Esta forma de acoplamento é caracterizado por chamada de métodos.

48. Dado o diagrama de sequência especifique o padrão GRASP utilizado:

Facade Proxy Information Expert Decorator Flyweight

49. Num determinado setor de uma empresa fictícia existem 5 (cinco) funcionários contratados. Todos os funcionários são contratados com a mesma carga horária de trabalho prevista. Dois dos cinco funcionários produzem o triplo do que produzem os outros colegas de trabalho, pois além de concluir as tarefas diárias de sua própria responsabilidade, também executam as tarefas que não são concluídas pelos outros colegas. Ao final do expediente é possível observar que os dois funcionários que mais trabalham apresentam maior desgaste físico e mental, pois sempre ficam sobrecarregados com responsabilidades extras. Fazendo uma analogia com o cenário descrito acima, responda qual característica de Projeto O.O. explicaria a situação que ocorre quando uma má distribuição de responsabilidades entre 5 classes afeta a colaboração entre os objetos, concentrando responsabilidades demais em somente 2 dessas classes. Elevado Polimorfismo Baixa Coesão Baixo Encapsulamento Elevado Acoplamento Elevada Herança

50. O tipo tipos de coesão caracterizada quando um módulo executa um e somente um cálculo, e então retorna o resultado é chamada de: Funcional; Recursiva. Comucacional Paralela; Em Canada;

51. Um padrão controlador é o primeiro objeto além da camada de interface com o usuário que é responsável por receber ou tratar uma mensagem de operação do sistema, Este é um padrão de projeto de delegação, pois, normalmente um controlador deve delegar a outros objetos o serviço que precisa ser feito. Dentre os conceitos abaixo, assinale aquele que complementa o objtivo deste padrão. ele controla ou coordena os métodos; ele coordena ou controla as classes; ele coordena ou controla as generalizações; ele coordena ou controla a recursividade; ele coordena ou controla a atividade;

52. O Paradigma Orientado a Objetos com os padrões de responsabilidades GRASP definem que a melhor técnica de programação POO é: Desenvolver as classes com a maior coesão e menor acoplamento possível. Desenvolver as classes sem coesão e com acoplamento. Desenvolver as classes com a menor coesão e menor acoplamento possível. Desenvolver as classes com a menor coesão e maior acoplamento possível. Desenvolver as classes com a maior coesão e maior acoplamento possível.

53. Considere a figura abaixo

E escolha a opção correta sobre a gravura: A Classe instanciada assinalada como :???? Deveria estar incorporada na classe emprestar para evitar criar uma serie de novas classes. Isto facilita o projeto. A Classe instanciada assinala como :???? É de baixo acoplamento e baixa coesão pela natureza de sua criação. uma classe de controle exige que sempre se tem há uma classe de apresentação. Desta forma não podemos ter mais de uma classe de controle por sistema A Classe instanciada assinalada como :???? Não pode ser decomposta em outros controladores. Assim temos que trabalhar com o tipo de coesão resultante (temporal, funcional...) A classe instanciada assinalada como :???? Permite desacoplar as classes e métodos de apresentação. E isto aumenta a reutilização das classes de negocio.

54. Coesão implica que um componente ou classe encapsule somente os atributos e operações muito relacionadas a si e com a classe do componente ou classe propriamente dito. Os tipos de coesão podem ser: I - Funcional: ocorre quando um módulo executa um e somente um cálculo, e então retorna o resultado; II - Em camada: ocorre quando uma camada de mais alto nível tem acesso a serviços de camadas mais baixas, mas camadas mais baixas, não tem acesso a camadas mais altas. III -Comunicacional: todas as operações que tem acesso aos mesmos dados são definidas dentro de uma classe. IV - Interclasse: Todas as operações devem ser definidas envolvendo outras classes para garantir a coesão.

As afirmativas totalmente corretas são As afirmativas I,II,IV estão corretas e a afirmativa III está errada. As afirmativas I,II,III estão corretas e a afirmativa IV está errada. As afirmativas I,II,III e IV estão corretas. As afirmativas I,III,IV estão corretas e a afirmativa II está errada. As afirmativas II,III,IV estão corretas e a afirmativa I está errada.

55. O modelo GoF (Gang of Four) são padrões de projeto de software com 23 modelos (ou soluções) de soluções

para o desenvolvimento de algoritmos baseados no paradigma orientado a objetos. Esses modelos são classificados em subcategorias com propósitos comuns. Sabendo disso, assinale apenas uma das opções abaixo que é uma afirmativa verdadeira sobre os padrões GoF:

Os modelos dos padrões GoF são agrupados em duas categorias, sendo-as: Padrões Estruturais e Padrões Comportamentais. Os modelos dos padrões GoF são agrupados em três categorias, sendo-as: Padrões de Criação, Padrões Estruturais e Padrões Organizacionais. Os modelos dos padrões GoF são agrupados em três categorias, sendo-as: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. Os modelos dos padrões GoF são agrupados em quatros categorias, sendo-as: Padrões de Criação, Padrões Estruturais, Padrões Organizacionais e Padrões Comportamentais. Os modelos dos padrões GoF são agrupados em duas categorias, sendo-as: Padrões de Criação e Padrões Comportamentais.

56.

Analise as afirmativas abaixo: I. A ideia principal que é atribuída no conceito de Padrões de Projeto de Software é a "reutilização de ideias (soluções consolidadas)... Não necessariamente de códigos...". II. A utilização padrões de projeto de software em um projeto de desenvolvimento de programas implica na reutilização de códigos prontos feitos por outros desenvolvedores (da empresa ou externos) com finalidade de agilizar o processo de conclusão do software. III. Um projeto de desenvolvimento de software que segue padrões de projeto não necessita documentar aspectos recorrentes do desenvolvimento do software. IV. O MVC (model-view-controller), GoF (Gang of Four) e GRASP (General Responsibility Assignment SoftwarePatterns) são exemplos de padrões de projeto de software.

E assinale a única opção VERDADEIRA acerca das afirmativas acima. as afirmações I e IV são verdadeiras. todas as afirmações são falsas. todas as afirmações são verdadeiras. as afirmações I, III e IV são verdadeiras. as afirmações II e III são verdadeiras.

57. O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em programação orientada a objetos. Sobre ele podemos afirmar I - Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante toda a execução da aplicação. II A sua estrutura é bastante simples, existe apenas uma classe chamada Singleton, que define um método chamado Instance, responsável poder retornar aos clientes à única instancia da classe. III ¿ Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os objetos criados e evitar acesso público; As afirmativas estão todas corretas As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, II, III estão incorretas As afirmativas I, II, estão corretas e a afirmativa III está errada. As afirmativas I, III, estão corretas e II errada

58. Assinale a afirmativa correta sobre o padrão Builder: Deve-se é separar no construtor da própria classe a lógica para criação de um objeto e concentrar a lógica de criação em uma hierarquia de herança. Um dos principais objetivos do padrão Builder é separar o algoritmo de criação de um objeto complexo tanto da especificação, quanto das partes que o compõem. A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, fica comprometida Deve-se é embutir no construtor da própria classe a lógica para criação de um objeto ou ainda distribuir a lógica de criação em vários métodos adicionais. é uma abordagem que não facilita a criação de objetos com diferentes configurações e representações, tornando o código dependente a complexidade das classes relacionadas

59. [BNDES - CESGRANRIO 2009]A o consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a. O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes. O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações. Ambos são padrões estruturais que possuem alguns atributos em comum. Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto. O Adapter é inferior ao Bridge porque não evita a replicação de código.

60. Marque a alternativa que melhor descreve uma situação típica onde poderia ser utilizado o padrão de projeto Adapter? Um programador precisa de um método que simplifique o acesso a uma hierarquia de classes. Um programador precisa ser avisado quando houver alterações no estado de um objeto. Um programador precisa utilizar uma classe que possui a mesma interface da classe existente na aplicação. Um programador precisa de uma classe que possua um método para retornar a única instância existente da classe. Um programador precisar utilizar uma classe que possui interface diferente da classe existente na aplicação.

61. Dado o diagrama de classe identifique o padrão GoF estrutual

Decorator Flyweight Adapter Bridge Proxy

62. Dado o diagrama de classe identifique o padrão GoF estrutual

Decorator Flyweight Adapter Bridge Proxy 63. (FCC - 2011) No contexto dos padrões de projeto: I. Oferecer uma interface simples para uma coleção de classes. II. Desacoplar uma abstração de sua implementação para que ambas possam variar independentemente. Correspondem respectivamente a Façade e Composite. Façade e Bridge. Bridge e Adapter. Adapter e Façade. Composite e Bridge. 64. Dentre as opções apresentadas, assinale aquela que corresponde ao padrão de projeto que sugere a implementação de um algoritmo que faz uso de diferentes métodos, diferenciando das soluções convencionais por deixar o esqueleto deste algoritmo fixo em uma superclasse abstrata. Chain of Responsability, Template Method Interpreter; Flyweight Proxy; 65. Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO. fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos comportamentais. identificar as soluções comuns para o problema básico. entender o padrão de projeto como uma colaboração representada com suas partes estruturais e comportamentais. identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo. identificar os elementos do padrão de projeto que devem ser vinculados aos elementos em um contexto específico e representá-los como parâmetros para colaboração. 66. O padrão Variações protegidas tem como característica: O objetivo é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, para que eles não sejam diretamente acoplados. é o primeiro objeto além da camada de interface com o usuário que é responsável por receber ou tratar uma mensagem de operação do sistema. É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de variações em um projeto orientado a objetos, tais como: variações nos dados, comportamento, hardware, componentes de software, sistemas operacionais, entre outros. implica que um componente ou classe encapsule somente os atributos e operações muito relacionadas a si e com a classe do componente ou classe propriamente dito. Sugere atribuir um conjunto de responsabilidades altamente coesa a uma classe artificial ou de conveniência que não represente o domínio do problema, algo inventado, para apoiar coesão alta, acoplamento baixo e reuso.

67. O padrão Indireção tem como característica: O objetivo é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, para que eles não sejam diretamente acoplados. Sugere atribuir um conjunto de responsabilidades altamente coesa a uma classe artificial ou de conveniência que não represente o domínio do problema, algo inventado, para apoiar coesão alta, acoplamento baixo e reuso. é o primeiro objeto além da camada de interface com o usuário que é responsável por receber ou tratar uma mensagem de operação do sistema. É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de variações em um projeto orientado a objetos, tais como: variações nos dados, comportamento, hardware, componentes de software, sistemas operacionais, entre outros. implica que um componente ou classe encapsule somente os atributos e operações muito relacionadas a si e com a classe do componente ou classe propriamente dito. 68. Marque dentre as opções apresentadas aquela que corresponde ao padrão de projeto que sugere atribuir um conjunto de responsabilidades altamente coesas a uma classe artificial, ou de conveniência, que não represente o domínio do problema, algo inventado, para apoiar coesão alta, acoplamento baixo e reuso. Variações protegidas; Indireção; Invenção pura; Proxy; Criador 69. O objetivo do padrão de projeto Indireção é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, com o objetivo de? impedir que que eles sejam indiretamente acoplados; impedir que que eles sejam parcialmente acoplados impedir que que eles não sejam diretamente excluídos; impedir que que eles não sejam diretamente acoplados; permitir que que eles sejam diretamente acoplados; 70. Dentre as opções abaixo assinale aquela que não se constitui em um benefícios da aplicação do padrão variações protegidas. as extensões para novas variações são fáceis de adicionar, as extensões para novas variações são difiíceis de adicionar, o impacto ou custo das modificações pode ser diminuído. o acoplamento fica mais baixo; novas implementações são introduzidas sem afetar o cliente, 71. Marque a alternativa que representa o padrão GRASP que está relacionada com a seguinte questão: A quem atribuir responsabilidades para evitar acoplamento direto entre objetos? Indireção Invenção Pura Controlador Polimorfismo Variações Protegidas 1a Questão (Ref.: 201509689163)

Prover uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas." . Para qual padrão de projeto a afirmação se relaciona? Singleton Abstract Factory

Proxy Prototype Nra

2a Questão (Ref.: 201509742857)

Qual padrão é de arquitetura? GoF MVC GRASP Flower Gamma

3a Questão (Ref.: 201509202899)

Conhecido como padrões da gangue dos quatro, por terem sido desenvolvidos por quatro autores, os Padrões GoF (Group of Four) estão divididos pelos seguintes famílias de padrões: Padrões de Criação ou de Construção, Padrões Estruturais e Padrões Comportamentais. Considerando os padrões de Criação ou de Construção, analise o modelo abaixo e em seguida marque a alternativa que define a representação.

BUILDER. FACTORY METHOD. MEDIATOR. SINGLETON. PROTOTYPE.

4a Questão (Ref.: 201509214574)

(CESGRANRIO - 2010) Em um sistema de software para controlar pedidos para entrega em domicílio, deve haver uma funcionalidade que permita que o atendente solicite a repetição de um pedido anteriormente feito por um cliente. O gerente do restaurante informou que essa funcionalidade aumentaria a agilidade no atendimento aos clientes, visto que muitos deles tendem a fazer pedidos similares aos que já fizeram

anteriormente. Ao usar essa funcionalidade, o atendente do restaurante seleciona um pedido cuja composição corresponde a produtos normalmente requisitados pelos clientes e solicita ao sistema a construção de um novo pedido igual ao selecionado. Esse novo pedido pode, então, ser alterado pelo atendente se o cliente solicitar a adição de novos produtos do cardápio, por exemplo. Portanto, a parte principal dessa funcionalidade corresponde a criar uma cópia de um pedido a partir de pedido preexistente. Na implementação dessa funcionalidade, seu desenvolvedor deve utilizar qual padrão de projeto do catálogo GoF (Gang of Four), dentre os listados abaixo? Prototype. Command. Abstract Factory. Builder. Factory Method.

5a Questão (Ref.: 201509693181)

Que padrão estrutural anexa dinamicamente responsabilidades adicionais a um objeto. Provê uma alternativa flexível ao uso de herança como mecanismo de extensão de funcionalidade:

Adapter Facade Bridge Composite Decorator

6a Questão (Ref.: 201509854288)

Dentre as opções apresentadas assinale qual o padrão é bastante utilizado para compatibilizar classes implementas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente. Padrão Decorator Padrão Composite Padrão Decorator Padrão Adapter Padrão Flyweight Gabarito Comentado.

Pontos: 0,0 / 1,0

7a Questão (Ref.: 201509871245)

(BNDES - CESGRANRIO 2009) O presidente de uma empresa determinou que fosse disponibilizado um sistema de vendas na Internet. No entanto, o software de controle de estoque que deve ser acessado pela aplicação de vendas é muito antigo e provê uma API (Application Programming Interface) de uso muito complicado. Para que os desenvolvedores possam acessar uma interface mais simples, o arquiteto do sistema pode determinar o uso do padrão de projeto Flyweight. Prototype. Decorator. Observer. Façade.

8a Questão (Ref.: 201509804108)

O Padrão Flyweight é um objeto compartilhado, que pode ser usado em vários contextos, simultaneamente, pois, tem capacidade de funcionar de forma independente em cada contexto. Seus métodos e implementações não podem, em momento algum, fazer ___________________________________________________ hipóteses ou asserções sobre o contexto no qual o objeto opera. hipóteses ou asserções sobre fora do contexto no qual o objeto opera. Acoplamento fraco entre o subsistema e seus clientes. hipóteses ou exclusões sobre o contexto no qual o objeto opera. comparações ou associações sobre o contexto no qual o objeto opera. Gabarito Comentado.

9a Questão (Ref.: 201509213878)

(CESGRANRIO - 2010) Um dos participantes da equipe de desenvolvimento de um framework deve implementar uma operação em uma das classes desse framework. Seja X o nome dessa classe. Essa operação implementa um algoritmo em particular. Entretanto, há passos desse algoritmo que devem ser implementados pelos usuários do framework através da definição de uma subclasse de X. Sendo assim, qual o padrão de projeto do catálogo GoF (Gang of Four) a ser usado pelo desenvolvedor do framework na implementação da referida operação, dentre os listados a seguir? Decorator. Singleton. Interpreter. Observer. Template Method.

10a Questão (Ref.: 201509830934)

Analise as seguintes sentenças que descreve as características de um padrão de projeto. Em seguida marque a alternativa que corresponde o padrão de projeto correspondente. a. Sua aplicação é recomendada naquelas situações em que há necessidade de interpretar uma linguagem qualquer e, ao mesmo tempo, quando se quer representar sentenças da linguagem, como árvores abstratas sintáticas. b. Descreve como projetar um conjunto de classes para representar e interpretar uma gramática para linguagens simples.

c. A estrutura do padrão sugere que a modelagem do problema seja realizada através de uma gramática recursiva.

Composite Chain Responsability Interpreter Adapter Façade

1a Questão (Ref.: 201509210845)

Pontos: 1,0 / 1,0

Podemos afirmar que os Padrões de Criação da família GoF: Subutilizam as rotinas de tratamento de erros, em virtude da depuração de código fonte na fase de levantamento das necessidades junto aos usuários. São projetados para organizar, gerenciar e combinar diferentes comportamentos. Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua. Fornecem um guia de como instanciar objetos, que normalmente envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade. Colocam em dúvida o tratamento dispensado aos usuários na fase de levantamento das necessidades.

2a Questão (Ref.: 201509197241)

Pontos: 1,0 / 1,0

Podemos afirmar que padrões de projeto de software: difcultam a reutilização de projetos e arquiteturas bem sucedidas. permitem descrever fragmentos de projeto e reusar idéias de projeto, ajudando desenvolvedores a se nivelar com a experiência de outros. invariavelmente pioram a documentação e a manutenção dos sistemas. dificultam de alguma foram a escolha de alternativas de projeto que tornam um sistema reutilizável, aumentando as alternativas que a comprometam. não influenciam nos procedimentos, regras e práticas relativas às técnicas orientadas a objetos.

3a Questão (Ref.: 201509691917)

Pontos: 1,0 / 1,0

¿Os padrões de criação abstraem o processo de instanciação. Um padrão de criação de classe usa a herança para variar a classe que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação para outro objeto.¿ Padrões Projeto, 1º edição/2000.Gamma. Segundo Metsker, 2004, o padrão de projeto _____________________ tem como solução mover a lógica de construção de uma classe para um objeto externo, a fim de reduzir a complexidade da mesma e permitir a construção gradual de objetos-alvo a partir dessa classe. Escolha uma das alternativas abaixo que preenche corretamente a lacuna apresentada na descrição acima. Facade Abstract Factory Builder Factory Method Singleton

4a Questão (Ref.: 201509787966)

Pontos: 1,0 / 1,0

Qual dos padrões GOF abaixo é mais indicado quando necessitamos criar objetos de uma determinada classe, os quais só têm alguns poucos estados possíveis e é melhor copiá-los e aproveitar o seu estado atual do que criar um novo objeto no estado inicial. Decorator Builder Singleton Abstract Factory Prototype

5a Questão (Ref.: 201509802970)

Pontos: 1,0 / 1,0

Programadores se deparam muitas vezes com a situação onde é preciso acrescentar responsabilidades a objetos e não a classe. Uma das opções é utilizar herança, entretanto, esta alternativa é estática. Outra alternativa é especificar uma nova classe para implementar cada responsabilidade que se deseja atribuir dinamicamente a um dado objeto. Esta nova classe se chama _____________________________. Composite; Adapter; Decorator; Associativa; Beidge;

6a Questão (Ref.: 201509214577)

Pontos: 1,0 / 1,0

(CESGRANRIO - 2009) Ao consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a. O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes. Ambos são padrões estruturais que possuem alguns atributos em comum. Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto. O Adapter é inferior ao Bridge porque não evita a replicação de código. O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações.

7a Questão (Ref.: 201509214535)

Pontos: 1,0 / 1,0

(FESMIP-BA - 2011) O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado Builder. Flyweight. Strategy. State. Composite.

Pontos: 1,0 / 1,0

8a Questão (Ref.: 201509803022)

Estruturar um sistema em subsistemas ajuda a reduzir a complexidade do problema (Gamma et al., 2000). No entanto, um objetivo comum de todos os projetos é minimizar a comunicação e as dependências entre os diferentes subsistemas. Uma das maneiras de contornar esse problema é utilizar o padrão de projeto que qual forneça uma interface única e simplificada para os recursos e facilidades mais gerais de um subsistema. Este padrão de projeto é conhecido como: Façade; Composite; Decorator Proxy; Flyweight Gabarito Comentado.

9a Questão (Ref.: 201509879941)

Pontos: 1,0 / 1,0

São exemplos de Padrões de Projeto Comportamentais: Command, Composite e Memento State, Flyweight e Decorator Mediator, Strategy e Builder Interpreter, Chain of Responsibility e Observer Singleton, Mediator e Strategy

10a Questão (Ref.: 201509214588)

Pontos: 1,0 / 1,0

(FCC - 2010) Em relação aos padrões de projetos orientados a objetos, separar dados ou lógica de negócios da interface do usuário e do fluxo da aplicação para permitir que uma mesma lógica de negócios possa ser acessada e visualizada através de várias interfaces, sem saber de quantas nem quais interfaces com o usuário estão exibindo seu estado, é característica do padrão de projeto arquitetural Creator. Model-View-Controller. Expert. Observer. Layers.

O que é baixo acoplamento?

Algumas fontes, ex.: Wikipédia, definem baixo acoplamento como “o grau de conhecimento direto que uma classe tem de outra”; mas esta definição é bastante limitada, pois podemos definir o acoplamento de uma série de outros artefatos de software além de classes.

O que é acoplamento em TI?

Em engenharia de software, acoplamento ou dependência é o grau de interdependência entre módulos de software; uma medida de quão intimamente ligadas estão duas rotinas ou módulos; a força das relações entre módulos.

O que é acoplamento de sistemas?

Na computação, o acoplamento corresponde ao grau de interdependência entre dois componentes de um software. Quando há um baixo acoplamento, um componente consegue operar de forma praticamente independente do outro. Alto acoplamento já implica em uma conexão forte entre os dois, que pode torná-los até indistinguíveis.

O que é acoplamento entre classes?

Basicamente, o acoplamento de classe é uma medida de quantas classes uma única classe usa. Um número alto é ruim e um número baixo geralmente é bom com essa métrica.