Upload
stanislav
View
145
Download
1
Embed Size (px)
Citation preview
Software
ArchitectureDESIGN AND PATTERNS
Content
Important Terms
Usage of Patterns
Three Principal Layers
Example
Important Terms
Software Architecture
„ Software architecture is the high level structure of a software system,
the discipline of creating such structures, and the documentation of
these structures“
Important Terms
Pattern
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
patterns but have a broader scope.
Usage of Patterns
Reasons :
Part of software documentation
Reduce time consuption
Reduce costs of application maintance
Language neutral
Usage of Patterns
Layering is common technique of defining a parts of application
where patterns should be applyed.
A program layer is an independent operating component of a software program.
Usage of Patterns
Benefits of layering :
You can understanding of a single layer as a coherent whole without
knowing much about the other layers
You can substitute layers with alternative implementations of the same
basic services
You minimize dependencies between layers
Once you have a layer built, you can use it for many higher-level
services
Usage of Patterns
Three Principal Layers
Presentation layer
Data source layer
Domain logic layer
Three Principal Layers
Presentation layer
Provision of services, display of information (e.g., in Windows or HTML, handling of user request (mouse clicks, keyboard hits), HTTP requests, command-line invocations, batch API)
Examples:
Model View Controller
Page Controller
Front Controller
Template View
Transform View
Two Step View
Application Controller
Three Principal Layers
Data source layer
Communication with databases, messaging systems, transaction
managers, other packages
Examples:
Table Data Gateway
Row Data Gateway
Active Record
Data Mapper
Three Principal Layers
Domain logic layer
Logic that is the real point of the system
Examples:
Transaction Script
Domain Model
Table Module
Service Layer
Three Principal Layers
Best practice : One layer – one solution.
Example
Example
Example
Example
Thank you
Questions?