Design for Change

So far in this chapter, you’ve learned how to explore options and make decisions using your understanding of the ASRs. Making significant design decisions is supremely important for having a robust architecture, but if there is one constant in software, it’s change.

All great architectures account for the inevitability of change. We design for change by choosing when to make a decision and by moving design decisions out of the architecture.

Defer Binding Decisions until the Most Responsible Moment

Making a decision that cannot be easily reversed—an architectural decision—is a big deal. One strategy for avoiding dead ends and wrong turns is to defer making binding decisions for as long as responsible. Delaying design decisions ...

Get Design It! now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.