Bom pessoal, seguinte, ainda falando sobre acoplamento, nós temos que entender, e isso é interessante inclusive para você fazer, que é o seguinte, a gente entender o que é acoplamento aferente e acoplamento eferente, ou algo que a gente chama de fan-in ou fan-out. Como que funciona essa história aqui? Eu quero que vocês derem uma olhada. referente, ou algo que a gente chama de fan-in ou fan-out. Como que funciona essa história aqui? Eu quero que vocês derem uma olhada. Vamos imaginar que esse Z, o X e o W, esses caras aqui são componentes. Poderiam ser uma classe, poderia ser uma função, não interessa. São componentes, podem ser sistemas, não interessa o tipo de cara aqui. Podem ser sistemas, não interessa o tipo de cara aqui. O grande ponto é que você pode perceber aqui que o Z está precisando falar com o Y. O X e o W também. Então, se você olhar aqui, o Y possui aqui um acoplamento aferente. O que isso significa? Significa que outras pessoas, outros componentes estão precisando dele. E quanto mais componentes se conectam nele, maior acaba sendo a responsabilidade dele. Então, se você olhar aqui, eu tenho o CA e o CE. O que é o CA? É o acoplamento aferente. Então, ele é 3. Por quê? Porque eu tenho 3 componentes batendo nele. E aqui eu tenho o CE, que é o acoplamento eferente. Quantos caras ele está chamando? Quantos caras que ele depende? Aqui ele não está dependendo de ninguém, então é zero. E se você olhar aqui desse lado, olha só que interessante. O Z, ele está dependendo de Y. Então, ele tem um acoplamento eferente. O que isso significa? acoplamento eferente. O que isso significa? Significa que ele está dependendo de alguém. Porém, ninguém nesse momento aqui está dependendo de Z. Então, o acoplamento aferente de Z é zero aqui, porque não tem ninguém lidando com Z. E o acoplamento eferente de Z é 1, porque ele depende de um cara aqui. E a mesma coisa acontece aqui com X e acontece aqui com Y. Entendeu? Então, se você depende de alguém, essa dependência é um acoplamento eferente. E se você é dependido de alguém se alguém depende de você isso aí você tem um acoplamento a frente um ponto importante aqui pra você é o seguinte você vai perceber que os seus componentes são menos estáveis quando eles dependem de outros caras. E quanto menos caras vocês dependem, mais estável é a sua aplicação, porque ela é autossustentável, vamos dizer assim. Então, quanto mais dependência você tem, menos estável é o seu componente. Quando menos dependência você tem, mais estável normalmente acaba sendo esse componente. Agora, tem um ponto importante também. Quanto mais acoplamento aferente você tem, como no caso do Y, mais crítico o seu componente é para a aplicação como um todo. Entende? Então, quando a gente começa a pensar nisso, a gente começa a ver o nível de estabilidade ou instabilidade que um sistema pode ter, né? Ou quais são os componentes que você tem que tomar um cuidado danado no seu sistema, porque ele tem uma aferência muito grande. Por quê? Porque tem muita gente dependendo dele. E às vezes, sabe o que acontece, galera? É que às vezes a gente tem um acoplamento a frente muito grande ea gente não percebe e quando você vai ver o seu sistema inteiro está dependendo determinado componente e daí esse componente é o componente que você vai dar para aquele desenvolvedor que acabou de chegar na empresa para ele fazer uma refatoração e pum pode sairbrando tudo. Olha só que loucura. Então você consegue ver o quão crítico é ou não é um componente baseado no tipo de acoplamento que ele tem. A gente vai continuar falando disso aí sobre alguns aspectos. Vamos nessa.