# Software Architecture | ![img \|150](https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Software_Architecture_Activities.jpg/320px-Software_Architecture_Activities.jpg) | **Software Architecture** is the set of structures needed to reason about a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations. | |-|-| | | wikipedia:: [Software architecture](https://en.wikipedia.org/wiki/Software_architecture) | ## [[Architectural Pattern]]s ### [[Service-oriented Architecture]] ### [[REST & RESTful]] ### [[Peer-to-peer]] ### [[Monolithic Application]] ### [[Monorepo]] ### [[Microservices]] ### [[Event-driven Architecture]] ### [[Client-server model]] ### [[Broker Pattern]] ### [[Model-view-controller (MVC)]] ### [[Pipeline]] ### [[Dataflow]] ### [[Publish-subscripe Pattern]] ### [[Middleware]] ### [[Message-oriented Middleware (MOM)]] ### Enterprise Architecture [Enterprise architecture - Wikipedia](https://en.wikipedia.org/wiki/Enterprise_architecture) ### Naked Objects - https://en.wikipedia.org/wiki/Naked_objects ### Domain-driven Design DDD - https://en.wikipedia.org/wiki/Domain-driven_design ### Multitier Architecture - https://en.wikipedia.org/wiki/Multitier_architecture - E.g., application layer, presentation layer, business logic layer, and data layer ## [[Programming Paradigm]] ## [[Programming patterns, design patterns, principles, best practices, & code quality]] ## [[In-memory Database]] ## [[Business Logic]] ## [[Software Framework]] ## APIs & Services ### [[API]] ### Services ### [[Web APIs & services]] #### [[Microservices]] #### https://en.wikipedia.org/wiki/Service-orientation #### https://en.wikipedia.org/wiki/Service_(systems_architecture) ## [[Identity, Authentication, & Authorization]] ## [[Search]] ## [[Software Measurement]]