Architectural Patterns vs Design Patterns

Home >> Blog >> Architectural Patterns vs Design Patterns

Architectural Patterns vs Design Patterns

Architectural Patterns vs Design Patterns

Software architecture is responsible for the skeleton and the high-level infrastructure of software, whereas software design is responsible for the code level design such as, what each module is doing, the classes scope, and the functions purposes, etc.
Generally, the architecture and design both explains the idea but architecture focus on the abstract view of idea while design focus on the implementation view of idea.
Design Patterns:
Design patterns - It solves reoccurring problems in the software Design.

These design patterns divided mainly into three Groups:

  1. Creational Patterns
  2. Structural Patterns
  3. Behavioral Patterns
1. Creational Patterns:
This Pattern deals with object creation mechanisms. It focus on how to instantiate an object or group of related objects.
  • Abstract Factory
  • Builder
  • Factory Method
  • Prototype
  • Singleton pattern
2. Structural Patterns:
This Pattern ease the design by identifying a simple way to realize relationships among Entities.
  • Adapter
  • Bridge
  • Decorator
  • Facade
  • Proxy pattern
3. Behavioral Patterns:
It identify common communication patterns between objects and realize these patterns.
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Null Object
  • Observer
Architectural Patterns:
Architectural patterns - It serves as a blueprint for the software systems.

The architectural patterns address various issues such as as:

  • Performance
  • High availability
  • Scalability
  • Security
  • Maintainability
  • Testing
  • Deployment
  • Technology Stack

Following are the list of most widely used Architectural Patterns:

  • MVC Pattern
  • Model View Presenter (MVP)
  • Layered pattern (N-tier Architecture)
  • Master-Slave Pattern
  • REST (Architecture Style)
  • Monolithic architecture
  • Microservice architecture
  • Event-driven architecture (EDA)
  • Service-Oriented architecture (SOA)