Home
Up
Services
Articles
About Us
Contact Us

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

–   Meyer’s Open-Closed Principle

–   Martin’s 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.

 

Copyright ©2009 Evanetics, Inc. All Rights Reserved.  www.evanetics.com