Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SOLIDTutorial

SOLID principles described on a real-life example.

Introduction

Purpose of this tutorial is to illustrate how SOLID principles can impact your project and make it more robust. Every programmer knows that there is no better way to understand a programming term than by seeing a real-life example. That's why, this tutorial uses a probable history that could happen to everybody to depict how implementation of each of SOLID princples during the development process can help to maintain and create a product. The history involves a product owner (i.e. "the Boss" or "client"), programmer (i.e. "you") and the product.

What is SOLID?

The term SOLID has been first introduced by Robin C. Martin (Uncle Bob). It is an acronym for:

  • Single Responsibility Principle (SRP)
  • Open-Closed Principle (OCP)
  • Liskov Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)
  • Dependency Inversion Principle (DIP)

The principles specify common patterns (although they are not Design Patterns) that should be considered during the development of object-oriented code in order to keep it easy to maintain, extend and develop within a team of engineers. They are not associated with any specific programming language - nevertheless they are not implementable in non-object-oriented code. Each of the principles describes another rule and helps to deal with another problem. As everything in software design, the principles are not always implementable and/or there might be some occasions in which they could introduce more problems than they solve but every software engineer should know them and stick to the superior rule:

You are allowed to bend a SOLID rule only if you can provide dispassionate arguments for "why the rule should not be used" and "why is your non-SOLID solution better". If both of the questions cannot be answered and supported objectively, there is no excuse for you to bypass the SOLID rules.

Prerequisites

You need to be familiar with the Object Oriented Programming concept and the programming language used in the selected tutorial.

Tutorial

Contribution

Eveyone is welcome to make contributions to the tutorial. Especially, it needs examples in many programming languages in order to be easily understanable by vast group of developers. In order to commit, please follow the common Pull request procedure.

About

SOLID principles described on a real-life example.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages