SOLID Stands For Single responsibility Openclosed Liskov substitution Interface segregation Dependency inversion The principles when applied together intend to make easy to maintain and extend over ID: 560577
Download Presentation The PPT/PDF document "SOLID Design Principles" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
SOLID Design PrinciplesSlide2
SOLID Stands
For
Single responsibility
Open-closed
Liskov
substitution
Interface segregation
Dependency
inversion
The principles, when applied together, intend to make
easy
to maintain and extend over
time systemSlide3
S – SRP -
Single responsibility
principle
Every class, function, variable
should define a single responsibility, and that responsibility should be entirely encapsulated by the
context
It
is important to keep a class focused on a single concern is that it makes the class more
robustSlide4
O –OCP -
Open/closed principle
software entities (classes, modules, functions, etc.) should be open for extension, but closed for
modification
that is, such an entity can allow its
behavior
to be extended without modifying
its source code
This is especially valuable in a production environment, where changes to source code may necessitate code
reviews, unit
tests, and other such procedures to qualify it for use in a productSlide5
L
– LSP -
Liskov
substitution principle
It is
a particular definition
of a
subtyping
relation
, called
behavioral subtyping
If
S is a subtype of T, then objects of type T may be replaced with objects of type
S without
altering any of the desirable properties of that program Slide6
I – ISP -
Interface segregation principle
It
states that no client should be forced to depend on methods it does not
use
ISP splits interfaces which are very large into smaller and more specific ones so that clients will only have to know about the methods that are of interest to
them
Slide7
D
– DIP -
Dependency inversion principle
High-level modules should not depend on low-level modules. Both should depend on abstractions
Abstractions should not depend on details. Details should depend on abstractions.Slide8
THANK YOU!