There exist a number of articles/blogs explaining the Dependency Inversion Principle (DIP) using Swift; to name a few (top Google hits): GitHub/ochococo/OOD-Principles-In-Swift – The Dependency Inversion Principle, clean-swift.com / Dependency Inversion – A Little Swifty Architecture Now, Swift is widely described (even by Apple) as a protocol-oriented programming language, rather that an OOP language; soRead more