CSC/ECE 517 Fall 2009/wiki2 12 01

From Expertiza_Wiki
Jump to navigation Jump to search

Problem Statement

Patterns are often classified into creational, structural, and behavioral categories. However, this leaves a large number of patterns in each group, with no easy way of remembering all of them. What classifications and strategies have been developed to help programmers remember patterns, so that they can apply them at opportune moments?


Design Patterns

A design pattern in software engineering can be described as a reusable solution template to a frequently occurring software design problem.


Purpose of Pattern Classification

  • The main goal of pattern classification is to make it easier forsoftware developers to select the right pattern to apply.

Example: In order to solve a certain designproblem, the right designpattern, if available, should be selected.

  • For selecting a specific pattern, i.e. pattern selection, the nature of the problem should be matched with the right pattern category.

Hint: Match the description of the problem with the description of the pattern category, then with the description of the individual patterns.

Classification of Design Patterns

Design patterns can be classified along the following schemes

  • Purpose
  • Scope
  • Functionality
  • Structural Principles
  • Granularity