My life be like

Software architectures

A summation of different types of software architectures Published at: 2019-04-24

When I go down the rabbit hole that is the internet, sometimes I find some new architectures that have my attention I am interested in. This is just a post about a couple of different architectures and a summary of how they work.

Model-view-controller

One of the first patterns I learned (and I think most people) is ModelViewController. The premise is simple, you have a model that is responsible for all the logic, data and rules of your application. You have the view that is any form of representation of data. And you have the controller that handles actions on the application and transfers them to the view or the model, whatever is needed. Now looking at a code example in Java. The model is usually just a class.

class User {
    private String name;

    private User(String name) {
        this.name = name;
    }

    private void setName(String name) {
        this.name = name;
    }

    private User getName() {
        return this.name;
    }
}

Pros

Cons

MVC is a simple pattern that is used a lot, but without some extras like

Used for

Model–view–viewmodel

DDD

Clean Architecture

Event driven

Micro services

Event sourcing

The Layered Architectural Pattern

CQRS

Oscar te Giffel

Oscar te Giffel. I wan't to learn so many things. This is just my journey through life.