O documento descreve o princípio AcyclicDependenciesPrinciple (ADP), que define que as dependências entre pacotes ou componentes não devem formar ciclos, para que os pacotes sejam mais reutilizáveis e de fácil compreensão. A solução proposta é dividir o desenvolvimento em pacotes independentes, de modo que cada equipe trabalhe em seu pacote específico.
2. AcyclicDependenciesPrinciple (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 Yentão teremos um ciclo.
4. AcyclicDependenciesPrinciple (ADP) 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.
5. AcyclicDependenciesPrinciple (ADP) 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.