Can decoupling hurt maintainability in certain situations?
- by Ceiling Gecko
Can the fact that the business logic is mapped to interfaces instead of implementations actually hinder the maintenance of the application in certain situations?
A naive example with the Java's Hibernate framework would be, that for example (provided I don't have the whole code-base in my head, the project structure is a mess and classes are named with arbitrary names) if I wish to see what's going on in a certain DAO, to see if it actually is doing what it's supposed to do, then instead of traversing backwards up the tree from the point where the data service is invoked (where the tree will end in an interface with no implementation details whatsoever apart from the signature) I have to for example go and look for a configuration XML file to see which class is mapped to said interface as the implementation before being able to access the actual implementation details.
Are there any situations where having loose coupling can actually hurt maintainability?