Contents tagged with principle
YAGNI
YAGNI, or "You Ain't Gonna Need It" (or "You Aren't Gonna Need It"), emerged as one of the key principles of Extreme Programming. Put another way, the principle states:
"Always implement things … Read more
Keep It Simple
The KISS principle, or Keep It Simple, Stupid, spans many trades, industries, and professions. The more complex something is, the more ways there are for it to fail, and the more difficult it is … Read more
Hollywood Principle
The Hollywood Principle states, "Don't Call Us, We'll Call You." It's closely related to the Dependency Inversion Principle, and illustrates a different way of writing software from the more … Read more
Explicit Dependencies Principle
The Explicit Dependencies Principle states:
Methods and classes should explicitly require (typically through method parameters or constructor parameters) any collaborating objects they need in order … Read more
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.
See Also
Explicit Dependencies Principle … 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