Skip to main content
This is lesson 2 of 7 in this module Course 34% complete

Key Principles Of Software Architectures

Premium Content

Sign in with your account or sign up to access this content.

This lesson explains how to minimize complexity in software architecture by grouping structural elements into areas of concern, typically organized as layers in a layered architecture. It then introduces five key principles to follow when creating an architectural design: separation of concerns, the single responsibility principle, the principle of least knowledge, do not repeat yourself, and minimizing upfront design. Together these principles help produce a simple, maintainable architecture that fulfills all requirements without over-engineering.