App Architecture and Object Composition in Swift
Dmytro Anokhin

Thanks Dmytro for a nice introduction to the power of protocols!

Though I have one suggestion –– CompositeStore could also conform to Store and then you can have even more composition since now you can pass a CompositeStore inside another CompositeStore since it’s also a Store and now imagine all the infinite possibilities it could have. Also you can combine this with ViewModel concept and you can achieve composable ViewModels as well which I did in one of my recent projects and everything became so simple. It is super fun to build the system around protocols :)