I’ve been always asked by fresh grads who joined our Development team a very basic question “Why do we have to code against Interfaces not against concrete implementations?”. And to answer this question we start an interesting talk about the benefits of writing loosely coupled classes, and how to write unit tests without changing implementation, […]