Design principles

background

SOLID Principle in Scala

Reading Time: 3 minutes Introduction SOLID is one of the most popular design principles in object-oriented software development. Adopting these practices can prevent code smells, refactoring code, and Agile or Adaptive software development. It was promoted by Robert C Martin and is used across the object-oriented design spectrum. It’s a mnemonic acronym for the following five design principles : I’m going to try to explain SOLID Principles in the Continue Reading

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