Liskov's Substitution Principle in C++ | SOLID as a Rock

So you know how to code in general, understand the object-oriented programming, learned C++, and completed at least one Software Development Course (if you’re not there yet, these articles aren’t for you). You can write software easily if you know at least one programming language, but is your code any good? Could it be done any better? Is it clean (and what on earth does that mean)? Is your architecture any good?...

April 7, 2020 · 7 min · 1387 words · Vishal Chovatiya

Open Closed Principle in C++ | SOLID as a Rock

This is the second part of a five-part article series about SOLID as Rock design principle. The SOLID design principles, when combined together, make it easy for a programmer to craft software that is easy to maintain, reuse & extend. Open-Closed Principle(OCP) is the second principle in this series which I will discuss here with minimalistic example in Modern C++ along with its benefits & generic guideline. By the way, If you haven’t gone through my previous articles on design principles, then below is the quick links:...

April 7, 2020 · 8 min · 1596 words · Vishal Chovatiya

Single Responsibility Principle in C++ | SOLID as a Rock

This article is the first part of a five-part series about SOLID as Rock design principle series. The SOLID design principles focus on developing software that is easy to maintainable, reusable & extendable. In this article, we will see an example of the Single Responsibility Principle in C++ along with its benefits & generic guideline. By the way, If you want to directly jumps to other design principles, then below is the quick links:...

April 7, 2020 · 6 min · 1105 words · Vishal Chovatiya

What Is Design Pattern?

After hitting a certain level of experience & spending quite enough time in the industry, I have realised the importance of designing/architecting system & software. So I have started looking into system/software design & got to know nothing can better start than a Design Pattern. And the first thing I have done is googling “What is Design Pattern?” Hence got the idea of this article. But as someone without a computer science background(I am from electronics background), learning them was a struggle....

April 7, 2020 · 8 min · 1576 words · Vishal Chovatiya

Dependency Inversion Principle in C++ | SOLID as a Rock

Dependency Inversion Principle in C++ is the fifth & last design principle of a series SOLID as a Rock design principles. The SOLID design principles focus on developing software that is easy to maintainable, reusable & extendable. In this article, we will see an example code with the flaw & correct it with help of DIP. We will also see guideline & benefits of DIP in closure of the article....

April 6, 2020 · 6 min · 1203 words · Vishal Chovatiya

Interface Segregation Principle in C++ | SOLID as a Rock

Interface Segregation Principle in C++ is the fourth & by far the simplest design principle of a series SOLID as a Rock design principles. The SOLID design principles focus on developing software that is easy to maintainable, reusable & extendable. In this article, we will see a code violating ISP, a solution to the same code, guideline & benefits of ISP. By the way, If you haven’t gone through my previous articles on design principles, then below is the quick links:...

April 6, 2020 · 5 min · 1014 words · Vishal Chovatiya