Developers, Inheritance and Skills
Julian Bucknall (DevExpress) has written a great
post
on interface versus implementation inheritance, that also
touches on developer skills.
For me, having developers produce loosely coupled objects
that have a single responsibility and which support change
over time, has been problematic on almost every project and
team I have managed.
That all developers are
highly capable and motivated - is an illusion. The
reality is that it's really hard to find competent .NET
developers who can write more than procedural code (within
the guise of an object oriented language). That perhaps
simply reflects that so many .NET projects are simple RAD
applications that really are just a window onto data - no
complex domain at all.