Difference between revisions of "Strategy"

From Open Pattern Repository for Online Learning Systems
Jump to navigation Jump to search
(Created patlet for pattern)
 
m (Edited spelling)
 
(4 intermediate revisions by the same user not shown)
Line 4: Line 4:
{{Infobox_designpattern
{{Infobox_designpattern
|image= <!-- Provide the filename of the image to be displayed (e.g., Design_pattern.png) -->
|image= <!-- Provide the filename of the image to be displayed (e.g., Design_pattern.png) -->
|contributor= <!-- List of contributors separated by a " , "comma. This is optional so you can remove this field if there are no contributors -->
|contributor= [[Erich Gamma]], [[Richard Helm]], [[Ralph Johnson]], [[John Vlissides]]
|source= Gamma, Helm, Johnson & Vlissides (1995)<ref name="Gamma">Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). ''[http://dl.acm.org/citation.cfm?id=186897 Design Patterns: elements of reusable object-oriented software.]'' Reading, Massachusetts: Addison-Wesley. ''ISBN 0-201-63361-2.''</ref>, Strategy Pattern (2016)<ref name="Strategy">Strategy Pattern. (2016). Retrieved October 4, 2016 from http://c2.com/cgi/wiki?StrategyPattern.</ref>
|source= Gamma, Helm, Johnson & Vlissides (1995)<ref name="Gamma">Gamma, E., Helm, R., Johnson, R. & Vlissides, J. (1995). ''[http://dl.acm.org/citation.cfm?id=186897 Design Patterns: elements of reusable object-oriented software.]'' Addison-Wesley: Boston, MA.''ISBN 0-201-63361-2.''</ref>, Strategy Pattern (2016)<ref name="Strategy">Strategy Pattern. (2016). Retrieved October 4, 2016 from http://c2.com/cgi/wiki?StrategyPattern.</ref>
|dataanalysis= <!-- If applicable, list of data analyses used for mining the pattern separated by a " , "comma -->
|dataanalysis= <!-- If applicable, list of data analyses used for mining the pattern separated by a " , "comma -->
|domain= <!-- Learning domain the design pattern belongs to (e.g., General, Math, Algebra) -->
|domain= <!-- Learning domain the design pattern belongs to (e.g., General, Math, Algebra) -->
Line 66: Line 66:
<references/>
<references/>


[[Category:Design_patterns]] <!-- List of other categories the design pattern belongs to. The syntax for linking to a category is: [[Category:<Name of category]] -->
[[Category:Design_patterns]] [[Category:Patlet]] [[Category:Software Design Patterns]]<!-- List of other categories the design pattern belongs to. The syntax for linking to a category is: [[Category:<Name of category]] -->

Latest revision as of 08:37, 6 June 2017


Strategy
Contributors Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Last modification June 6, 2017
Source Gamma, Helm, Johnson & Vlissides (1995)[1], Strategy Pattern (2016)[2]
Pattern formats OPR Alexandrian
Usability
Learning domain
Stakeholders

Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.[1][2]


Context

Problem

Forces

Solution

Consequences

Benefits

Liabilities

Evidence

Literature

Discussion

Data

Applied evaluation

Related patterns

Example

References

  1. 1.0 1.1 Gamma, E., Helm, R., Johnson, R. & Vlissides, J. (1995). Design Patterns: elements of reusable object-oriented software. Addison-Wesley: Boston, MA.ISBN 0-201-63361-2.
  2. 2.0 2.1 Strategy Pattern. (2016). Retrieved October 4, 2016 from http://c2.com/cgi/wiki?StrategyPattern.