03.2 Architectural Patterns Edited
03.2 Architectural Patterns Edited
2
3
Architectural pattern
• General, reusable solution to a commonly
occurring problem in software architecture within
a given context.
• Performance
• High availability
• Some architectural patterns have been
implemented within software frameworks
• 3-layer/3-tier pattern: DotNetNuke
• MVC pattern: Laravel, ASP.NET MVC
• Microservices: Spring Boot, vert.x
Content
1. Overview
2. Principles Leading to Good Design
3. Architectural Patterns
4. Describing an Architecture Using UML
4
5
10
11
Screen display
facilities Dealing with
application protocols
User account
User management Dealing with
interface connections
File
Application system Dealing with
logic packets
Kernel
Operating system Database Network (handling processes Transmitting
access access communication and swapping) and receiving
Services Layer
Client1: <<communication>>
look up addresses
<<communication>>
exchange messages <<communication>> Server:
exchange messages
Client2:
<<communication>>
<<communication>> look up addresses
exchange messages
Client3:
15
Handler for
Reservation
Transaction transactions Transaction transaction
input dispatcher
Handler for
Flight cancellation
transaction
17
TCP/IP Transmission
encoder for
distant ambient encode
microphone noise speaker decompress receive
output
Another pipeline starts here…
18
Problems?
19
32
33
Example
Realization Elements
of an requestToRegister(aStudent) : boolean
interface dropCourse(aStudent)
getSchedule( ) : Iterator * Course Section
Specification Elements
* Classes that
encapsulate the
Register in Registration required
a course behaviors
* that are used to
‘realize’ the
Drop ‘contract’
Student
a course (interface)
Student
Actor
Display
schedule
36
<<communication>>
Client Server
37
Question?