Design Patterns and Refactoring: Mastering OO
(NFDPAT, Live Instructor-Led Training, 4 days)


Description

Design Patterns were originally proposed for the C++ community by the famous gang of Four (Booch, Jacobson and Rumbaugh). Design Patterns represent time tested and robust solutions to some common everyday problems that are faced by developers all over the world. The SETC certified design patterns course for .NET aims to help senior .NET developers to gain an understanding of how to use these powerful tools effectively and appropriately in their everyday programming. In using the proper creational, structural and behavioural patterns, .NET programmers can greatly increase the maintainability, flexibility and robustness of their code.

Dates and Pricing


Jan 23 to Jan 26, 2018$2,500/person Feb 20 to Feb 23, 2018$2,500/person Mar 20 to Mar 23, 2018$2,500/person

Outline

Object Oriented Design with Uml|
The Happy Video Store
Parameterized Classes and Patterns
Sequence Diagrams
Statechart Diagrams
Activity Diagrams
Proper Coding Practices
What Makes Good Software
Going From Analysis To Design
Object Re-use
Applying Design Patterns
Uml Class Notation
Generalization
Aggregation and Composition
Collection Classes
/|The Refactoring Process|
The Refactoring Process
Data Clumps
Primitive Obsession
Switch Statements
Lazy Class
Speculative Generality
Temporary Field
Message Chains
Middle Man
Inappropriate Intimacy
Alternative Classes with Different Interfaces
Code Smells Overview
Data Classes
Refused Bequest
Comments
Refactoring the Shapes Application
Duplicated Code
Long Method
Large Class
Long Parameter List
Divergent Change
Shotgun Surgery
Feature Envy
/Creational Design Patterns|
About Object Creation
Abstract Factory
Singleton
Client Code Review
Builder
Prototype
Refactoring Considerations
/ Structural Patterns|
About Object Structure
Adapter
Bridge
Composite
Façade
Other Patterns
Refactoring Considerations
/|Behavioural Patterns|
About Object Behaviour
Command
Observer
Strategy
Visitor
Other Patterns
Refactoring Considerations