I’ve been going on and on about how you should be coding against abstractions and not implementations. From there, it’s not a big leap to realize that you should be using interfaces as the main means to create those abstractions. Some of you have been asking me about why I think this, so I thought…