You can and should design for change, within reason, because all successful programs will need to change in ways you cannot predict
You’ve yourself here. You can not predict how it wull change. Which means that whichever design for change you’ve made, may just as well completely miss the future utilization
Which doesn’t mean that we shouldn’t design for change at all… Just saying.
As long as loose coupling, and separation of concerns are well tinkered into your application you minimise risks of breaking everything on a restructuring.
If you have for example shared state leaking everywhere into the program, your most probably doomed on the slitest changes.
I am not saying you’re wrong, but there are ways to mitigate the risks even without knowing what will happen in the future.
You’ve yourself here. You can not predict how it wull change. Which means that whichever design for change you’ve made, may just as well completely miss the future utilization
Which doesn’t mean that we shouldn’t design for change at all… Just saying.
… Saying what, exactly?
I said that we should
And you argued… The same thing? Just in the reverse order?
Seems like he’s worried you’ll Java everything up, which can be valid.
I think a good, easy example is whether your application should allow a selection of databases or be tied to one database.
You can make arguments for either, often (but not always) regardless of your use case.
As long as loose coupling, and separation of concerns are well tinkered into your application you minimise risks of breaking everything on a restructuring.
If you have for example shared state leaking everywhere into the program, your most probably doomed on the slitest changes.
I am not saying you’re wrong, but there are ways to mitigate the risks even without knowing what will happen in the future.