Software Development Principles

The SOLID Principles:

➤ The Single Responsibility Principle

Stated in its most extreme form, the Single Responsibility Principle is that a class should have only one reason to change.

➤ The Open/Closed Principle

This principle states that “Software entities should be open for extension, but closed for modification”.  In other words, you should never change working code. Instead, reuse it somehow (for example, by inheritance) and extend it.

➤ The Liskov Substitution Principle

Code written to use an object of a certain type should not have to change if provided with an object of a derived type.  If you find yourself writing branching logic so that your function does one thing if provided with a base class, but something else for a derived class, you have violated this principle.

➤ The Interface Segregation Principle

an interface with many functions should be broken up into smaller, cohesive parts. Consumers should rely on only one of the mini-interfaces, not on the “fat” whole.

➤ The Dependency Inversion Principle

In an interface-based language, this principle usually finds its expression in the related idea of dependency injection. If class A needs the services of B, it does not construct B. Instead, one parameter to A’s constructor is an interface that describes B. A no longer depends on B, but on its interface. When A is constructed, a concrete B is passed in. B, too, depends on its interface.


The DRY Principle

Don’t Repeat Yourself,  every piece of knowledge must appear only once

Both comments and pings are currently closed.

Comments are closed.