Title: Check Out 5 Object Oriented Design Principles By Uncle Bob!
1Check Out 5 Object Oriented Design Principles By
Uncle Bob! SOLID is basically a very popular
acronym used for writing maintainable, highly
cohesive, and extensible software systems. This
5 set of principles was provided by Robert C
Martin, also known as Uncle Bob, in the year
2000. With the help of the guidelines provided
by SOLID, one can basically stay safe from
including bad design in the code. The
development team can simply provide a properly
structured architecture to the design. These
principles provide a way to eliminate the
problems that cause bad design, which eventually
would lead to an inflexible and brittle codebase.
It is a must to keep a check on bad design, as a
fault could later result in bugs with bad design.
But before we jump on to understanding the five
object oriented design(OOD) principle by Uncle
Bob, let us understand the significance of OOD.
- OOD is a part of object oriented programming
(OOP) lifecycle or a process. The importance of
object oriented design was started from the
moment personal computers were invented. It is a
process of using object oriented methodology to
design an app or a computing software/ system. - This particular technique allows the
implementation of a software solution. And the
complete solution is focused on the concepts of
objects. Its role is to design the system
architectural layout once the object oriented
analysis (OOA) is completed. The entire design
system is created by OOD techniques and
object-oriented programming language (OOPL). - OOD identifies and defines objects, classes,
implementation, interface with the help of the
OOA phase. The input includes- - Use cases
- Conceptual systems model
- System relational model
- User interface (UI)
- Analysis data
2- Let us now check out the SOLID principle in order
to develop a better understanding of the
software system. - S Single Responsibility Principle
- Statement- A class should have one and only one
reason to change, meaning that a class should
have only one job. - It stands for the fact that a class should have a
single job. To be precise, it must have one and
only one reason to change. - O - Open-closed Principle
- Statement- Objects or entities should be open
for extension but closed for modification. - Let us define this principle in a single quote-
classes should be open for extension but closed
for modification. - L - Liskov Substitution Principle
- Statement- Let q(x) be a property provable about
objects of x of type T. Then q(y) should be
provable for objects y of type S where S is a
subtype of T. - This principle states that it is important that
the Child classes should never break the parent
class type definitions. - I - Interface Segregation Principle
- Statement- A client should never be forced to
implement an interface that it doesnt use, or
clients shouldnt be forced to depend on methods
they do not use.