Design Patterns
Course
Inhouse
Description
-
Type
Course
-
Methodology
Inhouse
-
Start date
Different dates available
This advanced Object-Oriented course provides software architects and designers with skills to create high quality object-oriented designs exhibiting improved flexibility, reduced maintenance costs, and with increased understanding of the resulting code. Participants learn more than 30 object-oriented patterns, including the 23 micro-architectures in “Design Patterns: Elements of Reusable Object- Oriented Software , ” by Gamma, Helm, Johnson, and Vlissides (the gang-of-four, or GoF book). Application examples and code snippets are provided to illustrate the patterns and the rationale for using that pattern in a given situation.
Facilities
Location
Start date
Start date
About this course
Software architects and designers requiring advanced design skills.
Object-Oriented Analysis & Design-UML or equivalent experience. At least 6 months experience programming with an object-oriented programming language.
Reviews
This centre's achievements
All courses are up to date
The average rating is higher than 3.7
More than 50 reviews in the last 12 months
This centre has featured on Emagister for 6 years
Subjects
- Object oriented training
- Object-oriented training
- Design
Course programme
#text-block-10 { margin-bottom:0px; text-align:left; }
1. Design Pattern Overview
Objectives in Software Design/Module
Design
Overview of Patterns Qualities of a Pattern Pattern Systems
Heuristics vs. Patterns
2. Principles of Object-Oriented Design
Overview of Principles
Single-Responsibility Principle (SRP) Open-Closed Principle (OCP) Tell vs. Ask
Command/Query Separation (CQS) Composed Method Combined Method
Liskov Substitution Principle (LSP) Dependency Inversion Principle (DIP) Interface Segregation Principle (ISP) Law of Demeter
3. Principles of Package Architecture
Package Cohesion Principles Package Coupling Principles Martin Package Metrics
4. Basic Object-Oriented Design
Patterns
Delegation vs. Inheritance Interface
Immutable Null Object
Marker Interface 1
General Responsibility Assignment
Software Patterns
5. Catalog of GoF Patterns
Overview of GoF Patterns
Introduction to Creation Patterns Factory Method Abstract Factory Builder
Prototype Singleton
Introduction to Structural Patterns Adapter
Decorator Proxy
Facade
Composite Flyweight Bridge
Introduction to Behavioral Patterns Chain of Responsibility Iterator
Strategy
Template Method Mediator Observer Memento Command State
Visitor
Interpreter
#text-block-11 { margin-bottom:0px; text-align:left; }
6. Other Micro-Architecture and System
Patterns
Object Pool
Worker Thread
Dynamic Linkage Cache Management Type Object
Extension Object
Smart Pointer (C++)
Death by Planning
Death March Projects
Additional Management Anti-Patterns
11. Patterns Summary
12. Appendix A – UML Review
13. Appendix B – C# Code Examples for
GoF
14. Appendix C – Maze Game Java Code
15. Appendix D – Possible Solutions for Exercises
16. Appendix E – Diagram Worksheets
Session
Transaction
7. Concurrency Patterns
Single Threaded Execution Guarded Suspension Balking
Scheduler
Read/Write Lock
Producer/Consumer
Two-Phase Termination Double-Checked Locking
8. Patterns-Oriented Software
Architecture
Systems of Patterns Architectural Patterns Layers Architecture
Pipes & Filters Architecture Blackboard Architecture Broker
Model-View-Controller
Presentation-Abstraction-Control Reflection
Microkernel
Catalog of J2EE Patterns J2EE Pattern Relationships
9. Selected Process Patterns (from PLoP)
The Selfish Class
Patterns for Evolving Frameworks Patterns for Designing in Teams Patterns for System Testing
10. Selected Anti-Patterns
Stovepipe System
Stovepipe Enterprise Reinvent the Wheel Golden Hammer
Design Patterns