Author name: Amlendra

I am an embedded c software engineer and a corporate trainer, currently, I am working as senior software engineer in a largest Software consulting company . I have working experience of different microcontrollers (stm32, LPC, PIC AVR and 8051), drivers (USB and virtual com-port), POS device (VeriFone) and payment gateway (global and first data).

Factory Design Pattern in C++

During software/firmware development, one of the most important principles to follow is loose coupling. It is keeping different parts of a system as independent as possible. This allows your codebase to evolve, scale, and adapt to new requirements with minimal friction. One effective way to achieve loose coupling is by abstracting the object creation process.

Factory Design Pattern in C++ Read More »

Singleton Design Pattern

The Singleton Design Pattern is a creational design pattern that ensures a class has only one instance and provides a global point of access to that instance. It is the most controversial Design Pattern because it is violating the “Single Responsibility Principle”. 🤔 Now you might be wondering: How does it violate the Single Responsibility

Singleton Design Pattern Read More »

Virtual Function in C++

In C++, virtual functions are a fundamental part of object-oriented programming that enable runtime polymorphism. This dynamic dispatch mechanism makes virtual functions essential for building flexible, extensible, and modular systems especially in large-scale or hardware-abstracted software architectures. In this article you will learn what is virtual function in C++ and when to use it.  I

Virtual Function in C++ Read More »

Deep Copy vs Shallow Copy in C++

When writing efficient and bug-free code in C++, especially in embedded or systems programming, understanding deep copy vs shallow copy is critical. Misunderstanding these concepts can lead to memory corruption, crashes, or data inconsistencies – issues no firmware engineer wants in a production device. This blog post will walk you through the fundamental difference between

Deep Copy vs Shallow Copy in C++ Read More »

Core Object-Oriented Concepts Every Developer Must Know- Part 2

Object-Oriented Design (OOD) is more than a coding technique — it’s a mindset that mirrors the real-world using software. In our previous blog post, we explored what Object-Oriented Design (OOD) is and why it’s essential in building maintainable, scalable software systems. Now, let’s go deeper into the core concepts of Object-Oriented Programming (OOP) — the

Core Object-Oriented Concepts Every Developer Must Know- Part 2 Read More »