Yes I know what they are used for thank you very much. I was trying to give a real-world answer to the real-world question that was posted. The question wasn't "Why should I use an interface" so my answer was not addressing interfaces in general. I didn't say they are only used for DI and unit testing and that they don't need to be used elsewhere.