>Personally, I always have 'data' and 'source' with base classes (not subclassed). It's easily justified by consulting specifics, because every client is a distinct entity, so it doesn't want to be 'subclassed'.
>However, in your case it's also beneficial to keep every developer separated, just to avoid a mess to conciliating different styles. Basically, common architecture can be implemented from organizational top only (i.e. pushed down the throat of individual programmers) and it's detrimental (imho) for working environment and developing individual skills, though it could be Ok for business purposes.
I see. Well, for me personally it's hard, since I didn't come with my own complete framework and in all my prior programming experience had a different paradigm. But I guess I just have to accept this style and try to come up with something suitable for me.
If it's not broken, fix it until it is.
My Blog