Any software architecture of a computing system is the set of working components and relationsship between them. Exaple: Database, Message Broker, Server and an application running on that server.

The 4+1 View Model Of Software Architecture

More concretely, an application’s architecture can be viewed from multiple perspectives.

📚 Phillip Krutchen: “Architectural Blueprints—The ‘4+1’ View Model of Software Architecture”

The 4+1 View Model

🔔 A good architecture never enables you to satisfy your functional requirement, however it helps you to achieve the quality of service (non-functional and developer experience) requirements.

📚 David Garlan and Mary Shaw “An Introduction to Software Architecture, January 1994”

Layered Architectural Style

  • Presentation layer
  • Business logic layer
  • Persistance layer

Hexagonal Architecture

Hexagonal Architecture