Skip to content

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.

Notifications You must be signed in to change notification settings

vagnerpgss/solid-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages