Design pattern: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
mNo edit summary
Line 7: Line 7:
conflict.}} (Weinstein 2007)
conflict.}} (Weinstein 2007)


{{quotation | Design patterns are used to describe typical solutions for recurring design
{{quotation | Design patterns are used to describe typical solutions for recurring design problems. They help to refine and complete system structures.}}
problems. They help to refine and complete system structures.}}
 
== Design patterns ==
 
=== In software engineering ===
 
According to Harrer and Martens (2006), there exist several approaches that use design patterns:
* ''Reference architectures and architectural patterns'' are used to specify basic structure and relationships between the main components of a software system. Reference architectures are e.g. the [[Learning technology system|LTSA]], system oriented verbal descriptions, or student oriented descriptions. Architectural patterns are on a more abstract level,
* ''Design patterns'' are used to describe typical solutions for recurring design problems. They help to refine and complete system structures.
* ''Process patterns and [[IMS Learning Design|Learning Design]]'' follow the idea to explicitly model process oriented aspects and to make them re-usable. [E.g.] in [[ITS]], implicit principles (e.g. related to pedagogical principles) are transformed to explicit declarations. This supports and facilitates the work of domain experts; resulting concepts and designs can be re-used. Examples are an exchangable catalogue of tutoring rules, and sequencing of learning activities in the Learning Design.
* ''Ontologies, Component based design, Frameworks and Refactoring'' are futher
software engineering methods [...].
 
A collection of patterns which explicitly describes relations between different is called a pattern language [38].


== Design patterns in education ==
== Design patterns in education ==
(not complete !)


* [http://www.leonelearningsystems.com/MontessoriDesignPatterns1.pdf Montessori Design Patterns] from Leone Learning Systems.
* [http://www.leonelearningsystems.com/MontessoriDesignPatterns1.pdf Montessori Design Patterns] from Leone Learning Systems.
Line 23: Line 36:


*  Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., & Angel, S. A (1977) A Pattern Language. New York: Oxford University Press.
*  Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., & Angel, S. A (1977) A Pattern Language. New York: Oxford University Press.
* Devedzic, V. (2001). A Pattern Language for Architectures of Intelligent Tutors. In: Moore, J.D., Redfield, C. and Johnson, W.L. (eds): Proc. of AI-Ed, San Antonio, TX, US, (2001) 542-544.


* Erickson, T. "Lingua Francas for Design: Sacred Places and Pattern Languages." In The Proceedings of DIS 2000 (Brooklyn, NY, August 17-19, 2000). New York: ACM Press, 2000, pp 357-368. [http://www.visi.com/%7Esnowfall/LinguaFranca_DIS2000.html HTML]
* Erickson, T. "Lingua Francas for Design: Sacred Places and Pattern Languages." In The Proceedings of DIS 2000 (Brooklyn, NY, August 17-19, 2000). New York: ACM Press, 2000, pp 357-368. [http://www.visi.com/%7Esnowfall/LinguaFranca_DIS2000.html HTML]
* Harrer, Andreas and Martens, Alke (2006). Towards a Pattern Language for Intelligent Teaching and Training Systems, In: Proc. of Intelligent Tutoring Systems (ITS 2006), edited by Mitsuru Ikeda, Kevin D. Ashley, and Tak-Wai Chan. Springer, Berlin, Germany, pages 298-307. [http://www.collide.info/Members/admin/publications/ITS_HarrerMartensFinal.pdf PDF Preprint]
* Schmidt, D., Stal, M., Rohnert, H. and Buschmann, F.: Pattern-oriented Software Architecture - Patterns for Concurrent and Networked Objects. JohnWiley & Sons, Chichester, (2000)


* Thomas Erickson, Supporting Interdisciplinary Design: Towards Pattern Languages for Workplaces, [http://www.visi.com/%7Esnowfall/Patterns.Chapter.html HTML]
* Thomas Erickson, Supporting Interdisciplinary Design: Towards Pattern Languages for Workplaces, [http://www.visi.com/%7Esnowfall/Patterns.Chapter.html HTML]

Revision as of 19:07, 28 May 2007

Draft

Definition

“The concept of a pattern language has been developed by Christopher Alexander and his colleagues in architecture and urban design. In brief, a pattern language is a network of patterns of varying scales; each pattern is embodied as a concrete prototype, and is related to larger scale patterns which it supports, and to smaller scale patterns which support it. The goal of a pattern language is to capture patterns in their contexts, and to provide a mechanism for understanding the non-local consequences of design decisions.” (Erickson)

“A pattern language is a system of best practices for a given field of endeavor. Each practice is expressed as a pair of statements: one statement describes a conflict and the other a resolution to that conflict.” (Weinstein 2007)

“Design patterns are used to describe typical solutions for recurring design problems. They help to refine and complete system structures.”

Design patterns

In software engineering

According to Harrer and Martens (2006), there exist several approaches that use design patterns:

  • Reference architectures and architectural patterns are used to specify basic structure and relationships between the main components of a software system. Reference architectures are e.g. the LTSA, system oriented verbal descriptions, or student oriented descriptions. Architectural patterns are on a more abstract level,
  • Design patterns are used to describe typical solutions for recurring design problems. They help to refine and complete system structures.
  • Process patterns and Learning Design follow the idea to explicitly model process oriented aspects and to make them re-usable. [E.g.] in ITS, implicit principles (e.g. related to pedagogical principles) are transformed to explicit declarations. This supports and facilitates the work of domain experts; resulting concepts and designs can be re-used. Examples are an exchangable catalogue of tutoring rules, and sequencing of learning activities in the Learning Design.
  • Ontologies, Component based design, Frameworks and Refactoring are futher

software engineering methods [...].

A collection of patterns which explicitly describes relations between different is called a pattern language [38].

Design patterns in education

(not complete !)

Links

References

  • Alexander, C. A (1979) Timeless Way of Building. New York: Oxford University Press.
  • Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I., & Angel, S. A (1977) A Pattern Language. New York: Oxford University Press.
  • Devedzic, V. (2001). A Pattern Language for Architectures of Intelligent Tutors. In: Moore, J.D., Redfield, C. and Johnson, W.L. (eds): Proc. of AI-Ed, San Antonio, TX, US, (2001) 542-544.
  • Erickson, T. "Lingua Francas for Design: Sacred Places and Pattern Languages." In The Proceedings of DIS 2000 (Brooklyn, NY, August 17-19, 2000). New York: ACM Press, 2000, pp 357-368. HTML
  • Harrer, Andreas and Martens, Alke (2006). Towards a Pattern Language for Intelligent Teaching and Training Systems, In: Proc. of Intelligent Tutoring Systems (ITS 2006), edited by Mitsuru Ikeda, Kevin D. Ashley, and Tak-Wai Chan. Springer, Berlin, Germany, pages 298-307. PDF Preprint
  • Schmidt, D., Stal, M., Rohnert, H. and Buschmann, F.: Pattern-oriented Software Architecture - Patterns for Concurrent and Networked Objects. JohnWiley & Sons, Chichester, (2000)
  • Thomas Erickson, Supporting Interdisciplinary Design: Towards Pattern Languages for Workplaces, HTML
  • Richard N Griffiths, Don't Write Guidelines ­ Write Patterns!, HTML