Dependência entre classes

ortizdavid

Ortiz de Arcanjo António David

Posted on May 23, 2022

Dependência entre classes

Durante a implementação de umsoftware é comum nos depararmos com erros. Na alteração de um atributo, método ou uma classe e verficamos que quebram as outras partes do software. Isto para a existência de um alto acoplamento entre classes.

Dependência é o relacionamento que indica a dependência entre um componente e outro. Esta relação indica que um determinado contexto precisa do outro para efectuar as suas operações.
A dependência é um dos relacionamentos mais comuns na construção de um software. Torma-se difícil impossível programar sem utilizar a depedência.

Representação da Dependência

Na UML a dependência pode ser representada nos seguintes diagramas:

  • Classes;
  • Caso de Uso;
  • Componentes;
  • Implementação.

A depedência entre classes é representada por uma linha tracejada e uma seta. A seta vai da classe dependente para classe independente (classe A ------> classe B).

Tipos de dependência

  • Abstração: classe A e classe B representam o mesmo em diferentes níveis de abstração;
  • Ligação: o método da Classe A recebe classe B como parâmetro e liga os objectos a este parâmetro;
  • Realização: Classe A é uma implementação de classe B;
  • Substituição: Classe A pode substituir a classe B e deve obedecer o contrato da classe B;
  • Uso: Classe A precisa da classe B para relaizar correctamente as operações.

Cenários da dependência entre classes

  • Classe A utiliza a classe B que possui escopo global;
  • Classe A utiliza a classe B como um parâmetro para uma de suas operações;
  • Classe A utiliza a classe B como uma variável local para uma de suas operações;
  • Classe A envia uma mensagem para uma classe B.

Precauções com a Dependência

  • Cada alteração na classe B, deve exigir a alteração na classe A;
  • Caso a classe B seja eliminada, pode causar pronlemas na classe A;
  • O uso incorrecto pode causar um alto acoplamento no software, causando dificuldades na manutenção.

Sugestões

  • Apesar de ser comum na Orientação a Objectos, a dependência pode ser utlizada em outros paradigmas de programação.
  • Para sistemas que não possuem Diagrama de classes é possível visualizar a dependência com a ajuda de uma IDE (Eclipse ou Visual Studio).

Exemplo

Representação da dependência numa ferramenta de geração de fontes de dados.
Uma fonte de dados é criada a partir de um contexto e permite criar um ficherio com o formato solicitado(.sql, .csv e .xml).
Um contexto ou tabela possui um nome, nº de campos, formato de dados, lista de campos, tipos de dados lista de valores mínimos e valores máximos.
A geração de fontes dependem do Contexto. No final será gerado um arquivo com a extensão do formato.
Deve ter uma classe que permita chamar as fontes de dados.
Modelagem: Astah UML
Linguagen: Java

Diagrama de classes
Image description

Context
Image description

XMLSource
Image description

DataSourceCaller
Image description

DataSource
Image description

Referências


💖 💪 🙅 🚩
ortizdavid
Ortiz de Arcanjo António David

Posted on May 23, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related