SOLID one by one

Date — 09/Sep/2018

Searching SOLID in google will give you a wikipedia article with the following.

“In object-oriented computer programming, the term SOLID is a mnemonic acronym for five design principles intended to make software designs more understandable, flexible and maintainable. It is closely related to the GRASP software design principle. The principles are a subset of many principles promoted by Robert C. Martin. Though they apply to any object-oriented design, the SOLID principles can also form a core philosophy for methodologies such as agile development or adaptive software development. The theory of SOLID principles was introduced by Martin in his 2000 paper Design Principles and Design Patterns, although the SOLID acronym itself was introduced later by Michael Feathers.”

Though it answers how and what it doesn’t answer the most important question why. In this post I will try to answer why solid principles are important and in the following posts I will go into them one by one.

The main reason why solid principles are important is because when a code is designed with these principles it has benefits like

  • easy to maintain
  • easy to modify or change certain parts of code with out effecting other parts.
  • avoids code smells and easy to refactor
  • easy to understand code

Solid is an attempt to streamline the complex design decision making process. They help to maintain low Coupling and high Cohesion which are important for a good software to be maintainable. SOLID is important because they help us to think in these lines without easily.