Starting With Another Clean Slate

Some parts of S.O.L.I.D. has a place in all of our code, right?  I’m starting out with the “S” and the “I”.  Many of the methods in the sample code have more than one thing going on so I’m splitting up the responsibilities into separate concrete types that focus on those functions.  And since I’m planning on using Unity to build up and inject the concrete types, I’ve extracted interfaces (that’s the “I”) for each and called them each a “service”.