Separate Assemblies != Loose Coupling
Interesting piece from Jeremy Miller about coupling.
“Here’s what’s important about coupling between two things (class/module/infrastructure/subsystem/whatever) named X and Y:
Can I understand X in isolation, or do I also have to understand Y at the same time?
Can I change X independently of Y? Or to put it differently, will changing X likely break Y or vice versa, ’cause that would be bad?
Can I test X in isolation without Y hanging around and getting in the way? Or can I verify that X works independently of Y?
Can I use X with a Z instead of a Y?
If I want to reuse X in another context, even if it’s in the same application, can I do that without having to drag Y along with me? And all of the things that Y needs for that matter?”
Link

Leave a Reply