Blog Logo
TAGS

Awesome Software Architecture

This is a comprehensive guide to software architecture, covering a wide range of topics including Actor Model Architecture, Akka .NET, Orleans, Protoactor, Clean Architecture, Onion Architecture, Hexagonal Architecture, Vertical Slice Architecture, Event Driven Architecture, Service Oriented Architecture, Domain Driven Design, Aggregation, Anemic Domain Model, Rich Domain Model, Application Service, Bounded Context, Domain Events, Integration Events, Primitive obsession, Domain Service, Enums, Exception And Validation, Infrastructure, Mapping, Persistence Ignorance, Strategic Design Patterns, Tactical Design Patterns, Value Objects, Event Sourcing, ORMs (such as Entity Framework), Data Driven Design, CQRS, Microservices (including communication & data consistency, service boundaries, testing, and composite UI), Observibility (including CorrelationId, Distributed Tracing, Diagnostics, Logging, Monitoring, and Metrics), Resiliency (including High Availibility, Idempotency, and various tools such as CAP, Dapr, Wolverine, SteelToe, Tye, MassTransit, and NService Bus), Modular Monolith, and various Architectural Design Principles such as Cohesion, Coupling, Dependency Inversion, Donot Repeat Yourself - DRY, Encapsulation, Fail-Fast, Favor Composition over Inheritance, GRASP, Interface Segregation, Inversion of Control, Keep It Simple - KISS, and Open/Closed Principle. It is a must-read for all software architects and developers who want to build scalable and maintainable systems.