One Pager Cheat Sheet
- This
lesson
provides an overview of key software architectural patterns and design structures, which has been republished with permission from Nishant Sharma. - This article summarizes six
Architectural Patterns
, including theLayered pattern
,Shared-data (or repository) pattern
,Microkernel
,Client-server pattern
,Multi-tier pattern
andMicroservices
, to explain how components and connectors create and access persistent data. - Architects
design
module
,component-and-connector
, andallocation
structures. - The module structures useful for breaking down a program's design include
Decomposition
,Uses
,Layer
,Class
, andData Model
structures. - The
Service
structure enables interoperability throughservice coordination mechanisms
likeSOAP
, while theConcurrency
structure provides opportunities forparallelism
and helps identifycontention
points. - The Deployment structure
maps software to hardware
, the Implementation structureassigns modules to a file structure
, and the Work assignment structure assigns teams responsibility forimplementing and integrating
the modules. - Software architecture is the high-level design of a software system, while software design is
more focused
onimplementation details
. - The key approaches to consider when talking about Architecture in a Project Life-Cycle Context are Waterfall, Iterative, Agile, and
Model-driven development
. - SOAP and its associated WS* standards provide an infrastructure for
service composition
,transactions
,service discovery
, andreliability
for distributed applications.