SDP – Stable Dependencies Principles(Princípios das Dependências Estáveis)                          Cláudio Henrique      ...
Conceito Geral: As dependências entre os pacotes devem ser no sentido da estabilidade dos pacotes. Um pacote deve depende...
Definindo pacotesEstável    eInstável
 Estável: significa aproximadamente "difícil de mudar“; Instável: significa "fácil de mudar".
Estabilidades de Pacotes Precisamos de pacotes instáveis, caso contrário, não poderemos mudar o software facilmente.
O principio Um pacote não deve ser dependente de um outro pacote que é mais propenso à mudanças que este.
Distribuições iguais Se todos os pacotes têm distribuições relativamente iguais para uma mudança, isso é provavelmente um...
Então, qual seria a melhor forma dedefinir as condições dos pacotes?
Estabilidade Se você não sabe que tipos de mudanças são prováveis, é melhor esperar e ver o que acontece quando o sistema...
Estabilidade Uma boa prática adotada é modelar as dependências dos pacotes de forma a colocar os pacotes instáveis acima ...
Estabilidade
Exemplo
Exemplo No exemplo, é possível verificar que o pacote Cliente é o  mais estável pois existem classes de outros pacotes qu...
Métricas de estabilidade Como podemos medir a estabilidade de um  pacote? Uma maneira é contar o número de  dependências...
Métricas de estabilidade • Ca: Acoplamentos Aferentes: O número de classes de fora    deste pacote, que dependem de class...
Métricas de estabilidade Considere o seguinte exemplo:
Conclusão Para se obter a estabilidade de pacotes é necessário estabelecer um design que proporcione o seguinte:Pacotes s...
Referências Http://www.objectmentor.com/resources/articles/stability.pdf http://mmiika.wordpress.com/oo-design-principles/
Upcoming SlideShare
Loading in …5
×

Sdp – stable dependencies principles

1,601 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,601
On SlideShare
0
From Embeds
0
Number of Embeds
1,004
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sdp – stable dependencies principles

  1. 1. SDP – Stable Dependencies Principles(Princípios das Dependências Estáveis) Cláudio Henrique Welenn Cássio
  2. 2. Conceito Geral: As dependências entre os pacotes devem ser no sentido da estabilidade dos pacotes. Um pacote deve depender apenas de pacotes que são mais estáveis ​do que ele.
  3. 3. Definindo pacotesEstável eInstável
  4. 4.  Estável: significa aproximadamente "difícil de mudar“; Instável: significa "fácil de mudar".
  5. 5. Estabilidades de Pacotes Precisamos de pacotes instáveis, caso contrário, não poderemos mudar o software facilmente.
  6. 6. O principio Um pacote não deve ser dependente de um outro pacote que é mais propenso à mudanças que este.
  7. 7. Distribuições iguais Se todos os pacotes têm distribuições relativamente iguais para uma mudança, isso é provavelmente um sinal de má organização, e se deve ao desejo de apoiar mudanças prováveis e ao mesmo tempo proporcionar estabilidade.
  8. 8. Então, qual seria a melhor forma dedefinir as condições dos pacotes?
  9. 9. Estabilidade Se você não sabe que tipos de mudanças são prováveis, é melhor esperar e ver o que acontece quando o sistema evolui.
  10. 10. Estabilidade Uma boa prática adotada é modelar as dependências dos pacotes de forma a colocar os pacotes instáveis acima do pacotes estáveis.
  11. 11. Estabilidade
  12. 12. Exemplo
  13. 13. Exemplo No exemplo, é possível verificar que o pacote Cliente é o mais estável pois existem classes de outros pacotes que dependem das classes de seu pacote. O pacote Empresa Aérea é estável (no domínio do negócio), porém, menos estável que Cliente pois, se houver uma mudança de negócios que passe a disponibilizar o transporte aéreo por helicóptero uma mudança em sua estrutura interna será exigida. O mesmo acontece com o pacote Cobrança, imaginando um cenário onde a forma de pagamento passa a ser feita também usando cartão de crédito.
  14. 14. Métricas de estabilidade Como podemos medir a estabilidade de um pacote? Uma maneira é contar o número de dependências que entram e saem desse pacote. Estas contagens nos permitirão calcular a estabilidade posicional do pacote.
  15. 15. Métricas de estabilidade • Ca: Acoplamentos Aferentes: O número de classes de fora deste pacote, que dependem de classes dentro deste pacote. • Ce: Acoplamentos eferente: O número de classes dentro desse pacote que depende de classes de fora deste pacote. • I: Instabilidade: (Ce / (Ca + Ce)): Esta métrica tem no intervalo [0,1]. I = 0 indica um ser maximamente pacote estável. I = 1 indica um pacote máximo instável.
  16. 16. Métricas de estabilidade Considere o seguinte exemplo:
  17. 17. Conclusão Para se obter a estabilidade de pacotes é necessário estabelecer um design que proporcione o seguinte:Pacotes sujeitos à mudanças devem depender de pacotes sujeitos a menos mudanças, ou seja, pacotes “instáveis” deve ser dependentes de pacotes “estáveis” ou, mais “estáveis” que o mesmo.
  18. 18. Referências Http://www.objectmentor.com/resources/articles/stability.pdf http://mmiika.wordpress.com/oo-design-principles/

×