Principle
Separation of Concerns
A key principle of software development and architecture is the notion of separation of concerns. At a low level, this principle is closely related to the Single Responsibility Principle of … Read more
Once and Only Once
The Once and Only Once principle can be thought of as a subset of the Don't Repeat Yourself principle, and is one of the most fundamental principles of software development. Once and Only Once … Read more
SOLID
The SOLID principles of Object Oriented Design include these five principles:
SRP - Single Responsibility Principle
OCP - Open/Closed Principle
LSP - Liskov Substitution Principle
ISP - Interface … Read more
Don't Repeat Yourself
The Don't Repeat Yourself (DRY) principle states that duplication in logic should be eliminated via abstraction; duplication in process should be eliminated via automation.
Duplication is Waste … Read more
Dependency Inversion Principle
The Dependency Inversion Principle (DIP) states that abstractions should not depend on details. Details should depend upon abstractions. Read more
Interface Segregation Principle
The Interface Segregation Principle (ISP) states that clients should not be forced to depend on methods that they do not use. Interfaces belong to clients, not to libraries or hierarchies. Read more
Liskov Substitution Principle
The Liskov Substitution Principle (LSP) states that subtypes must be substitutable for their base types. Read more
Open-Closed Principle
The Open-Closed Principle (OCP) states that software entities (classes, modules, methods, etc.) should be open for extension, but closed for modification Read more
Single Responsibility Principle
The Single Responsibility Principle (SRP) states that a class should have only one reason to change. Read more