Software Architecture in Practice

6. Architectures Classifications

Layered Architecture 

Components are organized into horizontal layers 

An example of a layered architecture is the MVC architecture

Layered Architecture Diagram Example



Model-View-Controller (MVC) 

A way to build applications with a user interface 

  • Model - represents how data is persisted 
  • View - the presentational layer that the end user sees 
  • Controller - the mediator between the model and the view


Plugin Architecture 

Components are organized as plugins where you can use different components in an extensible and reusable way

Plugin Architecture Diagram Example

 


Pipes and Filters Architecture 

The main components of this architecture are pipes and lters, particularly with processing data 

  • Pipe - data ows from point to point 
  • Filters - transformations or lters that mutates the data that feeds into other pipes or sinks 
  • Sinks - where the data ultimately will be stored after a series of transformations

Pipes and Filters Architecture Diagram Example