Design Patterns

“Design Patterns: Elements of Reusable Object-Oriented Software” written by John Vlissides, Ralph Johnson, Richard Helm, Erich Gamma

“Enterprise Integration Patterns” written by Gregor Hohpe

Before refactoring: have automated tests to ensure proper fucntionality + buy-in from stakeholders

Patterns & Design principles

MVC, MVP , MVVM

CQRS, Eventual consistency

OOP

Actors

ACID, CAP Theorem

Solid, TDD, DDD

Architecture