|
|
|
|
|
|
|
|
|
Design Patterns and Architecture |
Duration: 4 days |
|
|
- Analysts
- Architects
- Designers
- Developers
- Any stakeholder in an organization applying technology who
wants to understand the benefits of design patterns
|
|
Experience
with object-oriented design and programming is recommended for this course. |
|
|
Description |
This four-day course covers advanced aspects of object technology, with particular
emphasis on problem solving with design patterns, as well as on
architectures for advanced systems. Design patterns are presented
as productivity boosters, i.e., aids to solving everyday problems
OO developers encounter. On a higher level, architectural patterns
structure the overall organization of systems. Architectural patterns
resolve major forces in application structure and enable creation
of modifiable and reusable systems. Finally, the role of patterns
in the design of frameworks is examined. |
|
Objectives |
This course
aims to significantly improve development skills of developers. Design
and architectural patterns are explored and their use and development
practiced as a significant factor in creating and delivering well
designed real-world applications. On completion of this course,
students will be able to:
- Identify fundamental and advanced concepts of design and architectural patterns
- Learn and directly apply design patterns to development problems
- Structure systems by applying architectural patterns
- Design flexible and maintainable systems and frameworks
|
|
Course Outline |
Object-Oriented Analysis and Design (Optional Review)
- Domain Modeling
- Object-Oriented Analysis
- Object-Oriented Design
Design Patterns
- Concepts
- Major issues
- Reuse of ideas
Creational Patterns
- Factory Method
- Abstract Factory
- Builder
- Prototype
- Whole-Part
Patterns for Organization of Work
- Observer
- Chain of Responsibility
- Mediator
Access Control Patterns
Service Variation Patterns
Service Extension Patterns
Object Management Patterns
| |
Adaptation Patterns
Communication Patterns
- Forwarder-Receiver
- Client-Dispatcher-Server
Architectural Patterns
Structural Patterns
- Layered Architecture
- Pipes and Filters
- Blackboard Architecture
Patterns for Distribution
Patterns for Interactive Systems
- Model-View-Controller
- Presentation-Abstraction-Control
Adaptable Systems
Frameworks and Patterns
- Idea of frameworks
- Patterns for flexibility
- Achieving benefits of frameworks
- Failures of frameworks
Analysis Patterns
- Reuse of models
- Achieving generality
| |
|
|