YMMV, but consider that if you think a single solution is the right solution in all cases, you're most likely wrong.
This is sort of the meta-principle that I apply to all of software development: no principle or methodology (DRY, YAGNI, SOLID, TDD, etc...) applies 100% of the time (except for this principle. ;))