Strategy pattern in Go

Strategy pattern in Go.
These days, I don’t build hierarchical types through inheritance even when writing languages that support it. Type composition has replaced almost all of my use cases where I would’ve reached for inheritance before.
I’ve written1 about how to escape the template pattern2 hellscape and replace that with strategy pattern3 in Python before. While by default, Go saves you from shooting yourself in the foot by disallowing inheritance, it wasn’t obvious to me how I could apply the strategy pattern to make things more composable and testable.

Read in full here:

https://rednafi.com/go/strategy_pattern/

This thread was posted by one of our members via one of our news source trackers.