Duration: 3 days
Course code: SS-MDL-112
Audience
- Developers
- Designers
- Architects
- Consultants
Prerequisites
Experience with object-oriented design and programming is recommended for this course.
Description
Design Patterns and Architectural Patterns Training 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 training is focused on using design patterns as productivity boosters, i.e., aids to solving everyday problems developers encounter. On a higher level, architectural patterns training focuses on defining structure for 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
Design Patterns and Architectural Patterns Training 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
Outline for Design Patterns and Architectural Patterns Training Course
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
- Proxy
- Facade
- Iterator
Service Variation Patterns
- Bridge
- Strategy
- State
Service Extension Patterns
- Decorator
- Visitor
Object Management Patterns
- Command
- Memento
Adaptation Patterns
- Adapter
Communication Patterns
- Forwarder-Receiver
- Client-Dispatcher-Server
Architectural Patterns
- Software Architecture
- Forces in Software Architecture
Structural Patterns
- Layered Architecture
- Pipes and Filters
- Blackboard Architecture
Patterns for Distribution
- Broker
Patterns for Interactive Systems
- Model-View-Controller
- Presentation-Abstraction-Control
Adaptable Systems
- Microkernel
- Reflection
Frameworks and Patterns
- Idea of frameworks
- Patterns for flexibility
- Achieving benefits of frameworks
- Failures of frameworks
Analysis Patterns
- Reuse of models
- Achieving generality