Arc Patterns
Arc Patterns
Chapter II
Software Architectural Patterns
Presented by
Dr. Koppala Guravaiah
Assistant Professor
IIIT Kottayam
Syllabus
Architectural Patterns
• Introduction • MVC
• Layered architecture • MVVM
• Pipers and Filters, • Micro-Kernel
• Blackboard • Master-Slave
• Broker • PAC
• others
Reference:
• Frank Buschmann, Kevlin Henney, Douglas C. Schmidt, Pattern-Oriented
Software Architecture: A Pattern Language for Distributed Computing, Wiley,
2007.
• https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-
nutshell-a0b47a1e9013
• https://www.simform.com/blog/software-architecture-patterns/#sectiond
Development Messaging
APIs
Mechanisms
Coding Design
Paradigms Patterns
Tools Automation
Level Large level tool – concerns large scale Small level tool: concerns schemes
components, global properties, and for refining and building smaller
mechanisms of the system sub systems- structure behavior of
entities and their relation ships
designed How components are organized and How Components are built
assembled
Example Microservices, Server-less, and Event- Creational, Structural, Behavioral
driven
• Blackboard
• Broker Architecture
• Master-Slave Architecture
• MVVM
Ref: https://en.wikipedia.org/wiki/Model-view-viewmodel
IOE 321 SDP 27
Client-Server Architecture
• A client-server architecture pattern is described as a distributed
application structure having two main components – a client and
a server.
• This architecture facilitates the communication between the client
and the server, which may or may not be under the same network
Ref: https://www.simform.com/blog/software-architecture-patterns/#sectiond
IOE 321 SDP 28
Interpreter
• Introduce an interpreter that represents the grammar of the
language and its execution.
• The interpreter is a whole-part hierarchy of classes, typically with
one class per grammar rule
Ref: https://www.simform.com/blog/software-architecture-patterns/#sectiond
IOE 321 SDP 30
Peer-to-Peer Architecture
• Individual components are called peers. A peer can act as a client,
a server, or both and change its role dynamically over time.
• As a client, a peer can request service from other peers, and as a
server, a peer can provide services to other peers.
• The significant difference between
peer-to-peer and client-server
architecture is that each computer on
the network has considerable
authority and the absence of a
centralized server.
• Example: file-sharing networks like
Skype, BitTorrent, and Napster.
Ref: https://www.simform.com/blog/software-architecture-patterns/#sectiond
IOE 321 SDP 32
Architectural patterns
• Architectural Pattern
• Architectural vs design patterns
• Different Architectural patterns
• Layered Architecture • Others
• MVC • Client-Server Architecture
• PAC Presentation • Interpreter
• Microkernel Architecture • Microservices Architecture
• Pipe-Filter Architecture • Peer-to-Peer Architecture
• Blackboard • Space-Based Architecture
• Broker Architecture
• Master-Slave Architecture
• MVVM