O from SOLID
# Open/Closed Principle (OCP) in Software Design ## Introduction The Open/Closed Principle (OCP) is the second SOLID principle. It states that "software entities (classes, modules, functions, etc.) should be…
# Open/Closed Principle (OCP) in Software Design ## Introduction The Open/Closed Principle (OCP) is the second SOLID principle. It states that "software entities (classes, modules, functions, etc.) should be…
# Single Responsibility Principle (SRP) in Java ## Introduction The Single Responsibility Principle (SRP) is one of the five SOLID principles of object-oriented design. It states that a class…
 Looking for the meaning of **full stack developer** on [**Google**](https://www.google.com/search?q=full+stack+developer), yields a range of definitions. Some of which says, a full stack developer…
 In an agile environment, during the [sprint planning](https://en.wikipedia.org/wiki/Scrum_(software_development)), prioritized tasks are defined, and unnecessary ones are deferred. tasks such as: - Migrate to the new…
Microservices are an architectural style that splits a software to a collection of fine-grained services. Those services have to be: - Loosely coupled with other services. - Independently testable.…
> Smalltalk’s design–and existence–is due to the insight that everything we can describe can be represented by the recursive composition of a single kind of behavioral building block that…
The new React Hooks introduces a lot of functions to encourage the creation of function components. One of those functions is the ``useReducer``. ```typescript function useReducer<R extends Reducer<any, any>>(…
> The _ **_hexagonal architecture_** _, or _ **_ports and adapters architecture_** _, is an architectural pattern used in _ **_software design_** _. It aims at creating loosely coupled…
 An **Anemic Domain Model** is a model that is focused on the state of the object. This is not what is advised while using [**Domain…
 In this blog I'm sharing my understandings on the core concepts of Domain Driven Design. **Domain Driven Design** or **DDD** for short should only be used in fairly…