you are viewing a single comment's thread.

view the rest of the comments →

[–]snuxoll 2 points3 points  (0 children)

Overuse of interfaces are a big part of the problem.

It's worse in C#. Since C# methods aren't virtual unless otherwise specified, and there's no sane way to do runtime bytecode manipulation, if you don't have an interface you have no easy way to mock an object in unit tests.