Skip to content

πŸ’Ž Software Design is also a process to plan or convert the software requirements into a step that are needed to be carried out to develop a software system

License

Notifications You must be signed in to change notification settings

nphausg/clean.design.principles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Clean Design Principles

React Native is released under the MIT license. PRs welcome!

drawing

-----------------------------------------------------

πŸ’€ Overview

drawing

πŸ‘‡ Principles

# Principle Java
01: Delegation
drawing
Solution
02: Slap
drawing
Solution
03: Yagni
drawing
Solution
04: Single Responsibility Principle
drawing
Solution
05: Open-Closed Principle
drawing
Solution
06: Liskov Substitution principle
drawing
Solution
07: Interface segregation principle
drawing
Solution
08: Dependency Inversion principle
drawing
Solution

πŸš€ SOLID

https://en.wikipedia.org/wiki/SOLID

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

I β€” Interface Segregation principle: Clients should not be forced to depend upon interfaces that they do not use.

D β€” Dependency Inversion principle: Depend upon abstractions, not concretions.

πŸš€ Folder Structure

The workspace contains two folders by default, where:

  • src: the folder to maintain sources
  • lib: the folder to maintain dependencies

Meanwhile, the compiled output files will be generated in the bin folder by default.

If you want to customize the folder structure, open .vscode/settings.json and update the related settings there.

✨ Contributing

Please feel free to contact me or make a pull request.

βš™οΈ Copyright

Created by $username on $today
Copyright (c) $today.year . All rights reserved.
Last modified $file.lastModified

-----------------------------------------------------

πŸ‘‡ Authors

About

πŸ’Ž Software Design is also a process to plan or convert the software requirements into a step that are needed to be carried out to develop a software system

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages