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
- Host: GitHub
- URL: https://github.com/josdem/solid-workshop
- Owner: josdem
- Created: 2018-04-17T21:14:16.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2024-08-05T13:39:23.000Z (almost 2 years ago)
- Last Synced: 2025-04-22T12:26:02.580Z (about 1 year ago)
- Topics: java, junit5, solid-principles, spock-framework
- Language: Java
- Homepage:
- Size: 116 KB
- Stars: 2
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
```