Design principles

SOLID Principles

Reading Time: 5 minutes SOLID is stand for Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, and Dependency Inversion Principle. It is refers to five design principles in object-oriented programming, designed to reduce code and improve the value, class, function, and maintainability of software. The SOLID principles help the user develop minimized coupled code. If code is tightly coupled, a group of classes are dependent on Continue Reading

Kafka: Consumer – Push vs Pull approach

Reading Time: 2 minutes Have you ever thought about the Push vs Pull approach for the system, which one suits or solves which problem? Another Question why did Kafka choose Pull over Push design for Consumers? Before talking about the Kafka approach, whether the Broker should push the data to consumer or consumer should pull from Kafka? Let’s first understand both of the approaches, as each one has its Continue Reading

Open Closed Principle in Action

Reading Time: 4 minutes Ivar Jacobson stated that all software entities change during their life cycle and this must be borne in mind when developing systems which are expected to last longer than the first version. A design principle which helps you with long lasting software is OCP (Open Closed Principle). Open Closed Principle was coined by Bertrand Meyer. It states that “Software entities should be open for extension Continue Reading