Is a class that only has interfaces as dependencies easier to test then classes that have implementations as dependencies? Most of us are eager to say yes, but in fact, frameworks like EasyMock enable us to mock (non final) classes.
There is an incredible article that was published in the Communications of the ACM entitled "How Intuitive is Object Oriented Design?" by Irit Hadar from the University of Haifa, Israel and Uri Leron from the Israeli Institute of Technology. It goes t