Sam Newman (2019), Monolith to Microservices, O′Reilly.
Pattern: Branch by Abstraction
What happens if the functionality we want to extract is deeper inside our existing system ? Lets see what the branch by abstraction pattern offers.
- Create an abstraction for the functionality to be replaced
- Change clients of the existing functionality to use the new abstraction
- Create a new implementation of the abstraction with the reworked functionality
- Swith over the abstraction to use our new implementation
- Clean up the abstraction and remove the old implementation