Mastering Software Design Principles and SOLID Patterns
Classified in Computers
Written on in
English with a size of 206.57 KB
Core Software Design Principles
- Abstraction: Removal or masking of detail and complexity.
- Modularity: Software is divided into separately named and addressable components.
- Separation of Concerns: Any complex problem can be more easily handled if it is subdivided into pieces.
- Information Hiding / Encapsulation: Hide implementation details from client components; communicate only via controlled interfaces.
- High Cohesion: Components provide specific functionality.
- Low Coupling: Components have as few dependencies as possible so they can change with minimal impact on other components.
SOLID Principles
Single Responsibility Principle
The idea here is simple: Separate the code that supports different actors (i.e., users, stakeholders, or client components)... Continue reading "Mastering Software Design Principles and SOLID Patterns" »