Where do interfaces belong? Clients or implementations?
I was recently involved, once again, in a debate about: “Where do interfaces belong? With their clients or their implementations?”. Searching the Internet for the same question displays many results and presents different opinions about the topic. In many cases, the answer is the usual one: “It depends!”. I will try to present “my” personal view about the topic. Of course, my view is not unbiased; I am certainly influenced by the suggestions of many experts in the field, but my personal work on projects comes to solidify this opinion....