O documento descreve o Princípio da Dependência Acíclica (ADP), que define que as dependências entre pacotes ou componentes não devem formar ciclos, para que os pacotes sejam mais facilmente reutilizáveis e testáveis de forma independente. O documento explica como dividir um sistema em pacotes separados permite que equipes trabalhem de forma independente em cada pacote.
1. PRINCÍPIO DA DEPENDÊNCIA ACÍCLICA
(Acyclic Dependencies Principle - ADP)
É um dos princípios da arquitetura de pacotes, que define que a dependência
(acoplamento) entre pacotes ou componentes não devem formar ciclos.
Por exemplo, o pacote W depende do pacote Y, que depende do pacote X. Se o pacote
X depende igualmente do pacote Y, então teremos um ciclo.
Figura 1 - Representação de um ciclo.
Pacotes com menos dependência com outros pacotes são facilmente reutilizáveis já que
a complexidade de implementação é menor. Pacotes com dependências, ou seja, cíclicos, só
podem ser testados, reutilizados, implantados e compreendidos em conjunto. E a
desvantagem dessa dependência é que, com ciclos, cada nó em um ciclo depende de qualquer
outro.
A solução para esse problema seria dividir o ambiente de desenvolvimento em partes
que aqui podemos chamar de pacotes. Assim, cada equipe ou desenvolvedor seria
responsável por um pacote qualquer, e este quando compilado estaria disponível para o
restante da equipe utilizar aquele pacote de uma determinada versão, e o responsável pelo
pacote poderia continuar o desenvolvimento no pacote pelo qual ele é responsável.
Dessa forma uma equipe fica independente da outra, ficando a critério da equipe
quando deve adaptar seu código à nova versão do seu pacote.
Figura 2 – Independência entre pacotes
2. Disciplina: Orientação a objetos
Pós graduação: Engenharia de Software Ágeil – turma 2
Alunos: Adriano e Kamila