Architectural Patterns

less than 1 minute read

An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context. Architectural patterns are similar to software design pattern but have a broader scope.

  • Layered pattern
  • Client-server pattern
  • Master-slave pattern
  • Pipe-filter pattern
  • Broker pattern
  • Peer-to-peer pattern
  • Event-bus pattern
  • Model-view-controller pattern
  • Blackboard pattern
  • Interpreter pattern

Layered pattern: for desktop app, e-commerce web app

  • Presetation layer
  • Application layer
  • Business logic layer
  • Data access layer

Client-server pattern: email, docs sharing and banking

Master-slave pattern: database replication, Peripherals connected to a bus in a computer system

Pipe-filter pattern: Compilers, Workflow

Broker pattern: Message broker queue,

Peer-to-peer pattern: File-sharing networks, Multimedia protocols

Event-bus pattern: Android development, Notification services

o	event source, event listener, channel and event bus
o	Listeners subscribe to particular channels.

Model-view-controller pattern: For web app

Blackboard pattern: Speech recognition, Vehicle identification and tracking, Protein structure identification

o	Blackboard
o	knowledge source
o	control component

Interpreter pattern

o	Database query languages
o	Languages used to describe communication protocols.

Ref: https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013