There are many recognized architectural patterns and styles, among them:
- Blackboard
- Client-server (2-tier, 3-tier, n-tier, cloud computing exhibit this style)
- Component-based
- Data-centric
- Event-driven (or Implicit invocation)
- Layered (or Multilayered architecture)
- Microservices architecture
- Monolithic application
- Peer-to-peer (P2P)
- Pipes and filters
- Plug-ins
- Representational state transfer (REST)
- Rule-based
- Service-oriented
- Shared nothing architecture
- Space-based architecture
Some treat architectural patterns and architectural styles as the same,[34] some treat styles as specializations of patterns. What they have in common is both patterns and styles are idioms for architects to use, they "provide a common language"[34] or "vocabulary"[32] with which to describe classes of systems.
https://en.wikipedia.org/wiki/Software_architecture