Bom pessoal, seguinte Como que eu consigo metrificar essa instabilidade? Porque até agora, o que eu falei para vocês é o seguinte Mapem aí o sistema de vocês Vê a quantidade de chamadas que tem os seus componentes Quanto mais você está chamando, quanto mais um componente é chamado E daí você começa a pensar Ok, eu fiz isso, mas como que eu consigo saber realmente se o meu sistema está instável ou se ele tem uma chance maior de estar instável ou não. Galera, grande parte do que eu estou pegando de referências, inclusive, do que eu acabei de passar aqui para vocês, consta também no livro Clean Architecture, do Uncle Bob. Ele fala bastante sobre isso. E o que eu acho interessante é que a gente tem uma formuleta para você conseguir metrificar, inclusive, o nível de instabilidade que os seus componentes possam ter. Como assim, Wesley? Olha só que interessante. Isso aqui é uma formuleta. Você pega a instabilidade é igual ao fanout, ou seja, a parte eferente, dividida pela parte aferente mais a eferente. Como assim? Vamos lá. Baseado nessa fórmula, você vai ter um resultado entre zero e 1. E quanto menor o valor, ou seja, quanto mais próximo de zero o valor, isso define que o seu componente é mais estável. Quanto mais próximo de 1, quanto maior o valor, isso vai dizer que o seu componente é mais instável. Tem que ajustar aqui no nosso PowerPoint. Então, o que acontece com esse caso? Como que a gente pode trabalhar dessa forma? Olha só que interessante, tá? Eu peguei esse desenho, inclusive, do livro do Clean Architecture aqui. Então, imagina aqui, tem alguns componentes, componentes CA, CB, CC, CD, e esses componentes têm algumas classes, tá? Então, se você perceber, o componente CA tem a classe Q, que depende da classe T. O componente A também tem a classe R, que depende da classe U. E o componente CB tem uma classe S, que depende da classe U. Agora, se você perceber, o nosso componente CC aqui, ele tem o quê? Um cara dependendo dele, dois caras dependendo dele, três caras dependendo dele. Legal? E ele mesmo depende de um cara. Perfeito? Então, acho que é bem simples de a gente conseguir ver isso. Então, olha só que interessante como é que ficaria aqui a nossa formuleta. Eu falaria que a instabilidade é o fanout dividido pelo fanin mais o fanout. Então, o que acontece? Olha só, eu tenho o i de instabilidade é igual a 1, ou seja, o meu acoplamento eferente é 1 aqui, porque eu estou dependendo de um cara, dividido por 3, porque tem 3 acoplamentos aferentes aqui que acabam batendo em mim, no meu componente CC, mais o meu acoplamento eferente aqui. Então, fica 3 mais 1, que é igual a 1 quarto, que é igual a 0,25. Então, é 0,25 o grau de instabilidade que o meu sistema vai ter. Legal? Então, essa que é a ideia de como você pode metrificar. Wesley, mas eu vou ter que ficar metrificando todos os meus componentes não tá mas sem dúvidas componentes que você considera que são mais corda sua aplicação e que você queira ter um cuidado muito grande em manter esse cara por longo tempo é interessante você aos poucos sempre medindo né sempre medindo o nível de instabilidade vou dar um exemplo mas não comprou um componente super cor e muita gente está utilizando ele ok ele é crítico mas se esse componente seu corpo começar a depender de muitos outros componentes o que significa que você vai ter provavelmente um componente cor instável e um componente cor instável vai gerar instabilidade muito maior para o restante do sistema entende então quando você tem essa visão você começa a pensar como você vai modelar os seus componentes cor da sua aplicação pra que pra que você consiga fazer com que ele dependa diretamente dependa menos diretamente de outros componentes para que outros componentes possam depender dele e que tenham e que esses componentes possam ter mais estabilidade beleza então essa é a pegada no próximo vídeo a gente vai falar também é como que a gente consegue mitigar alguns pontos quando a gente está falando em acoplamento ainda vamos nessa