|
Core
Design Patterns
Description
Design patterns are proven
solutions to software design problems that are independent of platform or
language. With a knowledge of design patterns, a designer or architect can
leverage the collective knowledge and expertise of the software community. This
course introduces and discusses the core design patterns in the classic
Design Patterns book by the Gang of Four (GoF), plus design principles and
architectural patterns that benefit many areas of software development. Students
will attain an appreciation of what design patterns are, and how to use them
effectively on their development projects.
At the end of the course,
the student will be able to:
-
Explain the
role and value of patterns.
-
Explain how
design patterns provide value to software development.
-
Discuss the
occurrence of design patterns, and when to use each pattern.
-
Explain
critically important design principles from Martin, Meyer and others.
Duration
Two days.
Prerequisites
Experience in software
design or architecture is desirable, but not mandatory. At least 6 months of
programming experience in Java, C# or C++ is highly desirable.
Cost
$3,200 per
course-day includes up to 12 students for on-site training. $300 per course-day
for each additional student up to a maximum of 16 students.
Audience
Software developers,
designers and architects who desire an introductory understanding of design
patterns.
Topics
|
Design
Pattern Overview
Qualities of Patterns
Pattern Systems
Heuristics vs. Patterns
Critical
Principles of Object-Oriented Design
Meyers Open-Closed Principle
Martins Design Principles
Single Responsibility Principle
Interface Segregation Principle
Dependency Inversion Principle
Liskov Substitution Principle
Tell vs. Ask
Command/Query Separation
Basic
Object-Oriented Design Patterns
Delegation vs. Inheritance
Design to Interface
Marker Interface
Null Object
Immutable
The Gang of
Four Design Patterns
Core
Creational Patterns
Factory Method
Abstract Factory
Singleton
Core
Structural Patterns
Adapter
Facade
Composite
Bridge
|
Core
Behavioral Patterns
Strategy
Template Method
Observer
Additional
GOF Patterns
Decorator
Proxy
Iterator
Command
State
Pattern-Oriented Software Architecture
Layers Architecture
Broker
Model-View-Controller
Presentation-Abstraction-Control
Reflection
Course
Wrapup
Appendix A:
UML Review
Appendix B:
C# Code Examples for GoF
Appendix C:
Maze Game Java Code
Appendix D:
Possible Solutions for Exercises
Appendix E:
Diagram Worksheets
|
Audience
Software
developers, designers and architects who desire an introductory understanding of
design patterns.
For more
information about this course or other courses please contact Evanetics at
1-803-781-7628.
|