DESIGN_PRINCIPLE

What are Microservices ?

Definition Microservices are an architectural approach to building applications. A microservice architecture consists of independently deployable services organized around business capability. Multiple independent modules are individually responsible for performing precisely defined, standalone tasks. These modules communicate with each other through simple, universally accessible application programming interfaces (APIs). Each service is [...]

2020-05-25T12:58:32+05:30Categories: Programming|Tags: |

Vertical Scaling And Horizontal Scaling

Scalability Scalability is the property of a system to handle a growing amount of load by adding resources to the system. For example search engine must support increasing numbers of users, and the number of topics it indexes. Scaling can be achieved by either upgrading current system configuration or by [...]

2020-05-23T15:28:59+05:30Categories: Interview|Tags: |

Memento Pattern | Design Pattern

Introduction Memento Design Pattern is a Behavioral design pattern. It offers a solution to implement undoable actions. Memento pattern is used to save and restore the previous state of an object without revealing the details of its implementation. Intent Capture the internal state of an object without violating encapsulation.Providing a [...]

2020-05-14T17:02:11+05:30Categories: Programming|Tags: |

Mediator Pattern | Design Pattern

Mediator Pattern is a behavioral design pattern that reduce chaotic dependencies between objects. This is achieved by creating a mediator object that takes care of the interaction between dependent objects. Consequently, all the communication goes through the mediator. Intent Define an object that encapsulates how a set of objects interact. [...]

2020-05-14T16:47:59+05:30Categories: Programming|Tags: |

Interpreter Pattern | Design Pattern

Introduction Interpreter Design Pattern is a Behavioral Design Pattern. Interpreter pattern is used to defines a grammatical representation for a language and provides an interpreter to deal with this grammar. It defines grammar of a particular language in an object-oriented way which can be evaluated by the interpreter itself.

2020-05-12T17:58:35+05:30Categories: Programming|Tags: |

Behavioral Patterns | Design Pattern

Introduction Behavioral Patterns are design patterns that identify common communication patterns between objects and realize these patterns. By doing so, these patterns increase flexibility in carrying out this communication. Examples Following pattern are comes under Behavioral Patterns Command: Command objects encapsulate an action and its parametersChain of responsibility: Command objects [...]

2020-05-04T20:28:26+05:30Categories: Programming|Tags: |

Structural Patterns | Design Pattern

Introduction Structural Design Patterns ease the design by identifying a simple way to realize relationships between entities. It explain how to assemble objects and classes into larger structures while keeping these structures flexible and efficient. Examples Following pattern are comes under Structural Patterns Facade: Create a simplified interface of an [...]

2020-05-12T17:43:07+05:30Categories: Programming|Tags: |

Observer Pattern

Introduction Observer Pattern is one of the behavioral design pattern. Observer design pattern is useful when you are interested in the state of an object and want to get notified whenever there is any change. The object that watch on the state of another object are called Observer and the [...]

2020-05-05T22:05:28+05:30Categories: Programming|Tags: |

Strategy Pattern

Introduction Strategy pattern (also known as the policy pattern) is a software design pattern that enables an algorithm’s behavior to be selected at runtime. It is based on the design principal "Encapsulate what varies". The strategy pattern Defines a family of algorithms, Encapsulates each algorithm, and Makes the algorithms interchangeable [...]

2020-05-04T22:26:36+05:30Categories: Programming|Tags: |

Prototype Design Pattern

Introduction Prototype allows us to hide the complexity of making new instances from the client. The concept is to copy an existing object rather than creating a new instance from scratch, something that may include costly operations. The existing object acts as a prototype and contains the state of the [...]

2020-05-14T15:36:49+05:30Categories: Programming|Tags: |
Go to Top