Skip to content

Latest commit

 

History

History
46 lines (24 loc) · 1.37 KB

File metadata and controls

46 lines (24 loc) · 1.37 KB

SOLID Design Principles

I will use this repository to practice and document the knowledge about S.O.L.I.D. Object-Oriented Design Principles. The source code is Java with examples of Good and Bad practices.

  • Single Responsibility Principle
  • Open/Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

Table of Contents

What is a good object-oriented design?

A good object-oriented design allows us to build software in a way that it can follow the evolution of the business in an agile and safe way. This means that the code must be maintainable. Any code which is not maintainable and cannot adapt to changing requirements very easily is code just waiting to become old-fashioned. One of the fundamental qualities of a software engineer is writing code that is maintainable.

Single Responsibility Principle

"A class should have one, and only one, reason to change."

Open/Closed Principle

Liskov Substitution Principle

Interface Segregation Principle

Dependency Inversion Principle