Donate
Back to Software Engineering Career Track
Sign in to save your progress and earn a certificate.

Module 8: Software Architecture & Design Patterns

Learning Objectives
  • Explain the single responsibility principle
  • Identify when code needs refactoring
  • Recognize common patterns like MVC (Model-View-Controller)

Code that works today can still become unmaintainable if it isn't organized well, which is why experienced engineers think about architecture, not just correctness. The single responsibility principle states that a function, class, or module should do one thing well, since code that handles too many responsibilities becomes hard to change without breaking something unrelated. You will learn to recognize when code needs refactoring, restructuring existing code without changing its external behavior, typically when a function has grown too long, logic is duplicated in multiple places, or a change in one area keeps breaking something seemingly unrelated. You will also learn the Model-View-Controller (MVC) pattern, a common way of separating an application's data (model), what the user sees (view), and the logic that connects them (controller).

Module Quiz

1. Refactoring code means:

2. The single responsibility principle states that a piece of code should:

3. In the MVC pattern, the 'Controller' is primarily responsible for: