0% found this document useful (0 votes)
125 views1 page

Arquitetura (Roadmap - SH)

This document provides a minimap of topics related to software design and architecture. It outlines key programming paradigms like object oriented programming and functional programming. It also details important principles for clean code, software design, architectural styles and patterns. Finally, it references resources for further exploring topics like design principles, patterns, architectural styles and more.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
125 views1 page

Arquitetura (Roadmap - SH)

This document provides a minimap of topics related to software design and architecture. It outlines key programming paradigms like object oriented programming and functional programming. It also details important principles for clean code, software design, architectural styles and patterns. Finally, it references resources for further exploring topics like design principles, patterns, architectural styles and more.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Minimap of Topics

Find the detailed version of this roadmap along with


Clean Code resources, progress tracking and other resources.

Programming Paradigms https : // roadmap.sh


Software Design & Architecture
Object Oriented Programming

Design Principles References

Visit Backend Developer Roadmap "


! Khalil’s Software Design & Architecture Map
Design Patterns

Architectural Principles

Architectural Styles
Be Consistent Meaningful names over Comments

Architectural Patterns
Indentation and Code Style Keep methods, classes, files small

Enterprise Patterns
Pure functions Minimize cyclomatic complexity

Clean Code Principles Avoid passing nulls, booleans Keep framework code distant

Structured Programming Programming Paradigms Use correct constructs Tests should be fast and independent

Functional Programming Use meaningful names Organize code by the actor it belongs to

Object Oriented Programming Command Query Separation Keep it simple and refactor often

Object Oriented Programming Design Principles Composition over Inheritance

Encapsulate what varies

Model-Driven Design Paradigm Features Primary Principles Program against abstarctions

Hollywood principle

Domain Models Abstract Classes Inheritance


SOLID DRY YAGNI

Anemic Models Concrete Classes Polymorphism

Layered Architectures Scope / Visibility Abstraction GoF Design Patterns

Domain Language Interfaces Encapsulation Design Patterns PoSA Patterns

Class Invariants
Event-Driven

Publish-Subscribe
Component Principles Architectural Principles

Policy vs Detail
Messaging

Coupling and Cohesion Architectural Styles


Distributed
SOA
Boundaries

CQRS Client-Server
Structural
Domain-Driven Design
Peer-to-Peer
Model-View Controller
Architectural Patterns Component-Based

Microservices
Monolithic
DTOs
Blackboard Pattern
Layered
Identity Maps
Microkernel
Use Cases
Serverless Architecture
Repositories
Message Queues / Streams
Enterprise Patterns Mappers
Event Sourcing
Transaction Script

Commands / Queries

Note on Listed Topics Value Objects


The roadmap is not an exhaustive list of
topics. It’s just some of the most important Visit Backend Developer Roadmap Domain Models
Topics under each category.

Entities

ORMs

You might also like