Chapter 4Software Architecture
“Good judgment comes from experience, and experience comes from bad judgment.”
—Fred Brooks
A software architecture is an organizational model for a moderate or large software system. Such a model divides the software into graphical user interface (GUI) forms, classes, modules, and database tables. A software architecture provides strong guidance on how modules interact with each other, how a test suite can be designed, how refactoring strategies can be exercised, and how program bugs can be detected and removed.
This chapter focuses on four central ideas related to software architecture. First, we introduce the concepts of architectural patterns and how they help developers organize software systems. Second, we ...
Get Software Development 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.