I recently learned about a very cool option in Visual Studio, the ability to extract an Interface from an existing class. This has made me much more comfortable in trying to adhere to a principle of not creating unnecessary code. I often found myself thinking I should create an interface first before creating the concrete implementation even for objects that I didn't have any current plans for extending. This post will show you step by step how to extract an interface from an existing class, so keeping ......