Skip to content

pncsoares/javascript-solid-principles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7576af9 · Mar 11, 2022

History

20 Commits
Feb 18, 2022
Feb 18, 2022
Feb 18, 2022
Feb 18, 2022
Feb 18, 2022
Feb 17, 2022
Feb 17, 2022
Mar 11, 2022

Repository files navigation

SOLID principles

This repository contains the SOLID principles details and code examples written in JavaScript and Typescript.

Definition

SOLID is a mnemonic acronym for five design principles intended to make software designs more understandable, flexible, and maintainable.

The SOLID principles are:

[S] Single responsibility principle

There should never be more than one reason for a class to change. In other words, every class should have only one responsibility.

[O] Open–Closed principle

Software entities should be open for extension, but closed for modification.

[L] Liskov substitution principle

Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it. See also design by contract.

[I] Interface segregation principle

Many client-specific interfaces are better than one general-purpose interface.

[D] Dependency inversion principle

Depend upon abstractions, not concretions.

👆 Source

Code examples

Principle Information
Single responsibility 📄
Open–Closed 📄
Liskov substitution 📄
Interface segregation 📄
Dependency inversion 📄

Technologies

Technology Short name Documentation
JavaScript JS 📎
TypeScript TS 📎

Setup

Clone repository

Create and go to the directory where you want to place the repository

  cd my-directory

Clone the project

  git clone https://github.com/pncsoares/javascript-solid-principles.git

Go to the project directory

  cd javascript-solid-principles

Contribute

Feel free to contribute and fix something that is wrong or could be better! Issues and pull requests are welcome.

To do so please create a new branch, change or add what you want and then create a Pull Request to branch main and add me as reviewer.

Thanks 🙏

License

MIT