9.5. Conclusion
Designing a system is a much more involved process than simply writing code. Many important decisions must be carefully calculated. Each method defined and each relationship introduced must be the result of a conscious decision in which the ramifications are carefully considered. In this chapter, we discussed many of the decisions that must be made when designing our system's structure. Ultimately, our system's behavior drives the creation of our structure. Complex and indefinite behaviors require more flexible structural relationships. Always considering the application of various principles and patterns, where warranted, contributes to a system design that is more resilient and maintainable.
If the line between behavioral design, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access