SOLID

From Logic Wiki
Jump to: navigation, search

SOLID is the first letters of these principles

  • Single Responsibility : a class should have only a single responsibility (i.e. only one potential change in the software's specification should be able to affect the specification of the class

This means that every class or similar structure in your code should have only one job. Everything in that class should be related to a single purpose.

  • Open / Closed Principle : Open for extensibility, close for modification
  • Liskow's Substitution Principle : “objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.”
  • Interface Segregation : many client-specific interfaces are better than one general-purpose interface.
  • Dependency Inversion Principle : one should “Depend upon Abstractions. Do not depend upon concretions. Dependency injection is one method of following this principle.