This is to demonstrate Software Principles Implementation.
- Single Responsible Principle
- Open/Close Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
- This principle states that there should never be more than one reason for a class to change.Should have one purpose.
- This Principle States that Software entities (class,modules,functions,etc..) should be open for extension but closed for modification.
- This principle states that objects of a superclass shall be replaceable with objects of its subclasses without breaking the application.
- This principle states that Clients should not be forced to depend upon interfaces that they don't use.
- The Dependency Inversion Principle states that :
- High Level modules should not depend upon low level modules.Both should depend upon abstractions.
- It helps uss to develop loosely code by ensuring that high-level modules depend on abstractions rather than concrete implementations of lower-level modules.
"The class which is performing a task with the help of other class is a High-level Class."
git checkout -b <your-new-branch>
git add .
git commit -m <message>
git push --set-upstream origin <your-new-branch>
git add .
git stash
git checkout <your-new-branch>
https://github.com/NimeshPiyumantha/Software-Principles.git