1
resposta

Não entendi o Branch By Abstraction

Eu entendi que é necessário criar uma camada de abstração(uma interface ou uma classe de Handling), porém, não entendi o restante do processo.

1 resposta

Olá Elison.

Tudo bem?

Desculpa a demora, estou respondendo esse tópico para tentar ajudar você e outros alunos que estiverem com essa mesma dúvida, e também para organizar o nosso fórum. Valeu :)

Entendo que você está com dúvidas sobre o processo do Branch by Abstraction. Vou tentar te explicar de uma forma mais clara.

O Branch by Abstraction é uma técnica que nos permite fazer alterações em partes específicas do código sem a necessidade de criar uma nova ramificação (branch) no repositório. Em vez disso, utilizamos uma camada de abstração para isolar o código que precisa ser alterado.

Vamos supor que temos uma parte da aplicação que utiliza uma biblioteca antiga e precisamos substituí-la por uma nova. Em vez de criar um novo branch para realizar essa substituição, introduzimos uma camada intermediária no código principal, que pode ser uma interface, uma classe de delegação ou até mesmo várias interfaces.

Essa camada de abstração serve como um ponto de entrada para todas as chamadas relacionadas ao módulo que será substituído. Ou seja, todas as chamadas passarão pela camada de abstração, que irá direcioná-las para o código antigo ou para o novo código, dependendo do caso.

Com essa técnica, podemos fazer a re-implementação gradualmente, substituindo aos poucos o código antigo pelo novo. À medida que o novo código vai sendo implementado e testado, o código antigo vai ficando em desuso até que possa ser completamente removido.

A imagem abaixo ilustra esse processo:

modulo

É importante ressaltar que o Branch by Abstraction é uma alternativa ao uso de branches de vida longa, que podem aumentar os fatores de risco no desenvolvimento. Idealmente, todas as features deveriam ter uma granularidade suficiente para não precisar de um branch de vida longa, mas nem sempre isso é possível.

Espero ter esclarecido suas dúvidas! Se ainda tiver alguma pergunta, é só me dizer. Bons estudos!

Espero ter ajudado e bons estudos!