terminal

codeando_simple

terminal

menu

terminal

search_module

guest@codeandosimple: ~/system/search $ grep -r "" .

Press [ENTER] to execute search

Status

Engine: Ready

Database: Online

Index: V2.1.0_LATEST

bash -- zsh
guest@codeandosimple: ~/topics/architecture $ cat architecture.md

Software Architecture

Software architecture involves software elements and their relationships, as well as the decisions made to achieve certain non-explicit characteristics such as response times, security, maintainability, and many more.

architecture

What is software architecture?

arrow_forward

Before delving into models and patterns, let's understand what architecture really is, what it's for, and why it's fundamental in professional development.

01.

Architectural Models

How is a system put together? Some do everything in a single block (Monolith), others separate it into two large pieces (Client-Server), and there are those who divide it into many small blocks that communicate with each other (Microservices). There is even the option for the blocks to appear only when they are needed, in response to events (Serverless). Here I show you each model, its advantages, its limitations, and when it's best to use them.

02.

Architectural Styles

Different ways to organize the code in our system.

03.

Enterprise Architecture Patterns

These types of patterns are used in enterprise-type applications. They were popularized by Martin Fowler in his book "Patterns of Enterprise Application Architecture", a fundamental guide when designing a system's architecture.