|
Isn't the idea that we should program to interfaces - and get compile-time checks for the logic. Then you only have an issue when the implementations don't match the interface. If you can localise this in meaningful places i.e. when the application starts up, and give meaningful errors it shouldn't be too great a price to pay for the flexibility of switching implementations later. Then again, in this direction lies hot-swapping implementations and class loader black magic :( |