Architecture Design Patterns

Architecture Design Patterns

July 21, 2019 0 By Darjee Kumar

Well, if you haven’t wondered about how large enterprise-scale systems are designed. Before major software development starts, we have to choose a suitable architecture that provides us with the desired functionality and quality attributes. These are patterns for the overall layout of your application where they have all have advantages and disadvantages to address specific issues. Below are the steps in architecture design patterns.

Layered Architectural Pattern

Layered Architecture

The layered pattern is one of the most known software architecture patterns. Many developers can use it without knowing its name and the idea is to split up code into layers where each layer has a certain responsibility and provides a service to a higher layer. The idea is that the user initiates a piece of code in the presentation layer by performing some action.  We can go into the business layer and finally, the persistence layer stores everything in the database where the higher layers are dependent upon and make calls to the lower layers.

The Microkernel Architectural Pattern

The microkernel pattern or plug-in pattern can be useful when the application has a core set of responsibilities and a collection of interchangeable parts on the side.  The microkernel will provide the entry point and the general flow of the application without really knowing what the different plug-in is doing.

The CQRS Architectural Pattern

CQRS and Event Sourcing as an antidote for problems with ...

The concept of this pattern is that an application has read operations and write operations which must be totally separated. This means that the model can be used for writing operations which can differ from the read models, which means there will be tables for the command model and tables for the read model. This method is best for architecture design patterns.

The Event Sourcing Architectural Pattern

This is a pattern where you don’t store the current state of your model in the database, but rather the events which happened to the model. So, when the name of a customer changes you won’t store the value in a Name column. To retrieve a model, all its stored events and reapply them on a new object and called as rehydrating an object.

The above-mentioned steps are the best method to design an architecture solution program database. Hope that I have covered all the topics in my article about architecture design patterns. Thanks for reading!