An open API service indexing awesome lists of open source software.

https://github.com/josdem/solid-workshop

Explaining SOLID principles
https://github.com/josdem/solid-workshop

java junit5 solid-principles spock-framework

Last synced: 8 months ago
JSON representation

Explaining SOLID principles

Awesome Lists containing this project

README

          

S.O.L.I.D Principles
------------------------------------

In object-oriented programming SOLID is a term developed by [Robert C. Martin](https://en.wikipedia.org/wiki/Robert_C._Martin) and the intention is to describe five important design principles to create good software, those concepts are:

* [S — Single Responsibility Principle](http://josdem.io/techtalk/best_practices/solid_principles/#srp): Every class should have a single responsibility, and that responsibility should be entirely encapsulated by the class.
* [O — Open-closed Principle](http://josdem.io/techtalk/best_practices/solid_principles/#ocp): Objects or entities should be open for extension, but closed for modification.
* [L — Liskov Substitution Principle](http://josdem.io/techtalk/best_practices/solid_principles/#lsp): Every subclass/derived class should be substitutable for their base/parent class.
* [I — Interface Segregation Principle](http://josdem.io/techtalk/best_practices/solid_principles/#isp): Clients should not be forced to implement unnecessary methods which they will not use.
* [D — Dependency Inversion Principle](http://josdem.io/techtalk/best_practices/solid_principles/#dip): Entities must depend on abstractions not on concretions.

**To run the project using Gradle:**

```bash
./gradlew test
```