CSC/ECE 517 Fall 2009/wiki2 12 PatternClassification: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 3: Line 3:
= Definition =
= Definition =


A pattern is a solution to a problem in its context.  A context is specific to the domain in which the problem is being solved.  For example, In computer science software engineers often are surrounded by problems in similar contexts such as web and database infrastructure.  Within these contexts, there are repeatable solutions.  Those solutions when described abstractly are are what we call patterns. 


A more abstract concept than a pattern is a schema.  A schema does not necessarily have any context but it does have structure and attributes.  Many times schemas and patterns are mistakenly interchanged.  The key for a pattern is that its context be described so that others can identify its usages. 
The goal of patterns is to recognize and make use of a library of knowledge that can be used to solve problems.  Often times, the same problems are 're-solved' without learning from the past experiences.  As long as we similar contexts we will have patterns or knowledge that develop from those solved problems.


= Problem =  
= Problem =  
The problem with patterns is classification and recognition or usage.  For example, a pattern that is not classified correctly will not be remembered and used.  Several attempts to classify patterns has been made.  The existing software classification of patterns uses the categories of:
# Structural
# Behavioral
# Creational
While these are good starting points for patterns, it is very hard to make use of this information in different contexts.  For example, when building a webapp, it is common knowledge to use the Model-View-Controller pattern.  This pattern is


= Existing Work =
= Existing Work =


= Sources Other Engineering Disciplines =
= Sources Other Engineering Disciplines =
= Examples =
= Links =

Revision as of 23:09, 9 October 2009

Originality, Clarity, Coverage, Definitions, Examples, Links, Organization.

Definition

A pattern is a solution to a problem in its context. A context is specific to the domain in which the problem is being solved. For example, In computer science software engineers often are surrounded by problems in similar contexts such as web and database infrastructure. Within these contexts, there are repeatable solutions. Those solutions when described abstractly are are what we call patterns.

A more abstract concept than a pattern is a schema. A schema does not necessarily have any context but it does have structure and attributes. Many times schemas and patterns are mistakenly interchanged. The key for a pattern is that its context be described so that others can identify its usages.

The goal of patterns is to recognize and make use of a library of knowledge that can be used to solve problems. Often times, the same problems are 're-solved' without learning from the past experiences. As long as we similar contexts we will have patterns or knowledge that develop from those solved problems.

Problem

The problem with patterns is classification and recognition or usage. For example, a pattern that is not classified correctly will not be remembered and used. Several attempts to classify patterns has been made. The existing software classification of patterns uses the categories of:

  1. Structural
  2. Behavioral
  3. Creational

While these are good starting points for patterns, it is very hard to make use of this information in different contexts. For example, when building a webapp, it is common knowledge to use the Model-View-Controller pattern. This pattern is

Existing Work

Sources Other Engineering Disciplines

Examples

Links