Select Page

# Get Free Big O Cheatsheet

To get free Big O cheatsheet, Fill in your name and email to get your copy.

Do not scared, we do not spam your inbox.

### Start learning

📚 Micro services Architecture and Design patterns.
📚 Data Structures and Algorithm

# Introduction and Characteristics of Algorithm

Introduction and Characteristics of Algorithms is explained in detail below

# Recap – Data Structures

The programmatic way of storing data, so that it can be used efficiently. Almost every enterprise application uses various types of data structures in one or the other way.

## Algorithm Introduction

Introduction and Characteristics of Algorithms, Algorithm is a step-by-step  programmatic way of storing data, so that it can be used efficiently. Almost every enterprise application uses various types of data structures in one or the other way.

Algorithm is step-by-step procedure for solving a problem in finite number of steps. In other words it is finite set of well-defined instructions written in human readable language for solving a given problem. An algorithm is division of a problem into small steps which are in sequence. Algorithm is very important way for computers to understand the problem and process the information accordingly.

Problem can always be solved in multiple ways or can have multiple solutions to solve. Similarly Algorithms also can be written any number ways to solve the problem. Let us see the characteristic of an Algorithm.

### Characteristic of an Algorithm:

Writing an Algorithm must possess the following characteristics.

• Finiteness : Each algorithm must have finite number of steps, or must terminate after finite number of steps.
• Input : algorithm may not have input or have many inputs.
• Output :  Must have 1 or more well-defined output, should match the desired output.
• Unambiguous : Algorithm must be clear and unambiguous, each of the input and output
• Feasibility : Resources must be utilized properly, Should never waste the resource.
• Independent : Algorithm must be independent of any Programming languages.

In the next article in details about the Big O Notations in data structures with example.

LIKE | SHARE | FOLLOW

# What is the CQRS design pattern?

Today we will see what is the CQRS – Command query responsibility segregator Design Pattern is.

Previously we saw about What is Microservice? and the principles followed while developing MSA and the available design patterns.

## Command query responsibility segregator (CQRS) design pattern?

CQRS stands for Command Query responsibility segregator, a design pattern that separates the read and update operations for data.

In traditional architecture, the same data mode is used to query and update the data in a database, This is how the CRUD operations work. With CQRS the read and update operations are separated into two parts, Command and Query.

The command part will handle all the CREATE, UPDATE, DELETE requests, while the Query part will handle all the READ (Materialize view) requests.

• Performance
• Scalability
• Improves Security
• It also prevents update commends from causing merge conflicts at the domain level

Example:

Where Uploading will perform Create, Update, Delete operations. And the other service on viewing will perform a Select operation to read the videos and their metadata.

In the next article, we will see the Circuit breaker design pattern.

LIKE | SHARE | SUBSCRIBE

#### WeCanCode-Author

November 28, 2021

Senior Developer | Java & C#.NET | 10++ years of IT experience.

Planning to learn ReactJS or Angular or Flutter.!

# What is Branch or Branching design pattern?

Today we will see what is an What is Branch or Branching Design Pattern is.

Previously we saw about What is Microservice? and the principles followed while developing MSA and the available design patterns. also, we saw the Shared database design pattern.

## Branch or Branching design pattern?

Branch Design pattern extends the Aggregator design pattern and allows us to perform simultaneous response to be processed from two likely mutual exclusive chained services .

This pattern also be called as different chain or Single chain based on the business needs. This design pattern is also known as Branching design pattern.

Example:

Consider the client is booking the Cab. The Trip Service makes call to the Dispatcher service.

Dispatcher service then makes two calls to Passenger & Driver Service, Then these two service calls Notification service.

Business Flow starts like the Client books a Trip, Trip dispatches the request to driver and passenger, then Both Passenger and Driver are notified using the Notification service.

In the next article, we will see the CQRS (Command query responsibility segregator) design pattern.

LIKE | SHARE | SUBSCRIBE

#### WeCanCode-Author

November 23, 2021

Senior Developer | Java & C#.NET | 10++ years of IT experience.

Planning to learn ReactJS or Angular or Flutter.!

# Design Pattern?

Today we will see what is an Event sourcing Design Pattern is.

Previously we saw about What is Microservice? and the principles followed while developing MSA and the available design patterns. also, we saw the Shared database design pattern.

Before understanding what is Event sourcing design pattern is, let us see why & when do we use the Event sourcing design pattern.

All application uses data to maintain the current state of the data by updating it, In the traditional Create, Read, Update & Delete (CRUD) model a data is read, then make some modification to It, and update the current state of the data with the new values – often by using transactions to lock the data.

### CRUD has its own limitations, below are a few such limitations.

1. CRUD performs update operations directly against the data, which slowdowns the performance and limits the scalability.
2. When multiple users read and updates the data, more likely conflict occurs since the update operations take place on single data.
3. Unless there is a separate auditing mechanism that records the state of data as history or the state of the data is lost.

Now, this is why & when we need to use an Event sourcing design pattern.

### Event sourcing design pattern:

Event Sourcing gives us a new way of persisting application state as an ordered sequence of events. We can selectively query these events and reconstruct the state of the application at any point in time. Of course, to make this work, we need to reimage every change to the state of the application as events:

Event sourcing design pattern

Example:

Consider we have Order and Cart services, When the Client adds the item to the cart or remove the items from the cart, these are called events, These events must be stored in order to maintain the changes made to the cart.

The events are persisted and published into the Event queue. Where the other services will subscribe to those events to get the updated state of the cart.

Consider you add the item to cart from Mobile App, then you login to website via PC and make some changes to the cart, these are captured as events and maintaining the seamless experience when accessing the cart in different platform.

In the next article, we will see the Branch design pattern.

LIKE | SHARE | SUBSCRIBE

#### WeCanCode-Author

November 18, 2021

Senior Developer | Java & C#.NET | 10++ years of IT experience.

Planning to learn ReactJS or Angular or Flutter.!