DESIGN PATTERNS



Design patterns form the architecture within the system. Design Patterns provide better understanding to the code developers of design and provide working on it easier.

This training provides wider perspective and gives examples about the princeples of design patterns. The scope of this training includes:

- Solving common design problems
- Using common knowledge for software development
- Using Patterns in all software development processes: architectural, design, implementation
- Undestanding what can form a pattern and what cannot
- Benefits of patterns in software development processes
- Mostly used patterns in object oriented designs
- The way useing patterns during development


SCOPE

1.Design and Architecture
- What is software architecture?
- Describing or explaining the architecture?
- Reuse
- Patterns in software designing
7.Value Patterns
- Whole Value
- Value Object
- Enumeration Values
- Class Factory Method
- Copied Value
- Immutable Value
- Mutable Companion
2. Pattern Structure
- Simple form
- Problem and forces
- Solution and consequences
- Hands on example: Composite pattern
- Documentation
- Documenting patterns
8. Functional Patterns
- Named Selector
- Command
- Command Processor
- Command Adapter
- Composite Command
- Composite Exception
- Block
- Active Object
3. Organizing Patterns
- Pattern katalogları
- "Gang of Four"
- "Pattern-Oriented Software Architecture" (POSA)
- Strategical and tactical patterns
- Organizational patterns
- Analysis patterns
- Architectural patterns
- Design patterns
- Pattern languages
9. Sequential Patterns
- Combined Method
- Finally for Each Release
- Execute-around Method
4. Delegation Patterns
- Principles
- Adapter
- Proxy
- Bridge
- Manager
10. Iteration Patterns
- Iterator
- Combined Iterator
- Enumeration Method
5. Decoupling Patterns
- Layers
- Interface Decoupling
- Role Decoupling
- Observer
- The Law of Demeter
11. Selection Patterns
- Null Object
- State-based Selection
- Objects for States (State)
- Collections for State
6. Creational Patterns
- Factory Method
- Disposal Method
- Singleton
- Cloning
- Copy Constructor

AUDIENCE

The training can be given as an option in C++ or in Java languages. This training is designed for experienced C + + or Java developers, software architects and designers.