Software Design Patterns are proven solutions to recurring problems in object-oriented software systems. The Software Design Patterns training course covers various Software Design Patterns and includes detailed programming exercises to allow you to practice implementing selected patterns.
This course goes beyond merely teaching several Software Design Patterns. It also teaches the principles, practices, and approaches that make Software Design Patterns “good designs”. This empowers you to use advanced design techniques in solving the designing problems. This course also covers on how patterns can work together to create robust, flexible, maintainable designs.
By attending Software Design Patterns workshop, delegates will learn to:
- Describe the purpose of Software Design Patterns
- Understand the ways that Software Design Patterns are documented and classified
- Use the Singleton Pattern to provide controlled access to the sole instance of a class
- Use the Composite Pattern to represent whole-part hierarchies of objects
- Use the Factory Method Pattern to eliminate the need to ‘hard-code’ specific class names
- Use the Observer Pattern to minimize coupling between domain and interface objects
- Use the Template Method Pattern to implement the common parts of an operation
- Use the Strategy Pattern to configure a class with one of many alternate behaviors
- Use the Iterator Pattern to separate the traversal mechanism from an aggregate object and to support concurrent traversals on the same object
- Use other creational patterns to help make systems independent of how its objects are created
- Use other structural patterns to compose classes and objects into larger structures
- Use other behavioral pattern to manage algorithms and assign responsibilities to objects
- Programming experience in Java or C++ and some familiarity with object-oriented concepts is required.
This Software Design Patterns class is for system architects, designers and programmers working on or preparing for a software project using an object-oriented design.
