
A very interesting comment by mpv in our forum highlighted some points about potential interface (ab)use:
IMHO: Idea is good, but "the devil is in the details". To use mocking I must use interfaces. When I use interfaces I lost control on code, because I don't see implementation. Debugging an optimization became very hard. Especially if a beginner developer read something like GOF (Gang Of Four) and wherever necessary and where not use design templates like Visitor, Decorator and so on, and in debugging I don't understand at all what class actually implement passed interface. As for me, this is a biggest problem for .NET framework - developers use interfaces, don't look on implementation (and often don't have it in sources at all), do not learn by reading someone else's code and therefore produce monkey-code. This is only IMHO...
Could sounds rude, and like a trolling subject, but I perfectly understand
this point of view.
Introducing stubs and mocks
in mORMot was not the open door to all problems.. but,on the contrary,
to help write robust, efficient, and maintainable code.
It does not mean that using interfaces and C#/Java is the root of all evils and
code inefficiency, but that it may lead into problems.



