Hi All,
This is the area of blog for everything designing!
We shall explore several different concepts that are used while designing and architecting software; how OOPS or other programming paradigms solve different problems (and probably create some other).
I’ll begin by explaining different software design patterns used in object oriented languages. Software Design Patterns are general, reusable solutions to commonly occurring problems in software engineering.Thereafter I’ll cover principles that form core of software and programming language design.
You can get ample amount of information about them on the Internet. However, I have attempted here, to explain the software design principles with real world examples. I’ll be less theoretical and more pragmatic. And how will I achieve this? Well, we shall do reverse engineering. Most of the online resources begin by explaining design principles/pattern and give examples. We shall start with solving problem statements without any prior knowledge of design principle, eventually coming up with a reasonable design, ruling out all the alternative possible solutions. Since I have 6 years of experience in 4G/IoT technology, I’ll be solving various software design issues I experienced while working on a 4G/IoT stack. I’ve tried to be as generic as possible in using the terminology while writing. So, do read the patterns to solve the mysteries behind the software world.
Happy Reading 🙂