i050803
TROST
InfoNote |
0.30 2006-08-08 -22:19 -0700 |
- Latest version: The latest version of this overall InfoNote is accessible on the Internet via
<http://TROSTing.org/info/2005/08/i050803b.htm>.- This version of Template Comparisons: 0.30 <http://TROSTing.org/info/2005/08/i050803d.htm>. Consult that page for the latest status and for the most-recent electronic copies of the material.
Seven sources of pattern templates are contrasted in a table. The arrangement is normalized and used to establish a compatible format for use as the initial TROST pattern-description format.
A. Pattern Template Styles Compared
B. Sources
- see also:
- i050803e: TROST Pattern Description Approach
- i050803c: TROST Pattern Description Template
i050901: TROST Pattern Language
TROST (2005) 1. Identification |
Alexander (1977) |
GoF (1995) |
PL:PW (1997) |
J2EE (2001) |
PeB (2001) |
Solution Pattern Style (2003) |
Garfinkel (2005) |
|
---|---|---|---|---|---|---|---|---|
abstraction | implementation | |||||||
title (numbered) | name | † name: for reference to the problem/solution case | name: descriptive | name |
name |
name | ||
a.k.a: also known as | aliases: also known as | brief description |
‡ summary: one-sentence or less descriptive summary |
|||||
(classification) | type: architecture, design, implementation | type: principle or pattern | ||||||
picture: archetypical example | image | |||||||
TROST (2005) 2. Situation |
Alexander (1977) |
GoF (1995) |
PL:PW (1997) |
J2EE (2001) |
PeB (2001) |
MS Style (2003) |
Garfinkel (2005) |
|
abstraction | implementation | |||||||
audience | rôle: architect, designer, developer, others | responsibility: organizational rôle | ||||||
user: having the problem [often implied in context] | architectural view: business, integration, application, operational, development | |||||||
aspect: purpose, data, function, timing, network, people, scorecard | ||||||||
context: relationship to larger/embracing patterns | applicability: situation, problems, cues [after motivation] | † context: circumstances, situation, and constraints, patterns already applied | context: environment where exists | context | ‡ context: brief statement of the context–situation–in which the pattern emerges | applicability: where relevant | ||
indications: symptoms indicating problem exists | ||||||||
TROST (2005) 3. Intention |
Alexander (1977) |
GoF (1995) |
PL:PW (1997) |
J2EE (2001) |
PeB (2001) |
MS Style (2003) |
Garfinkel (2005) |
|
abstraction | implementation | |||||||
◊ ◊ ◊ essential problem: brief statement |
intent: what it does, problem | † problem: the specific context-free problem [often stated before context] | problem: issues faced | ‡ problem: essence as simple question | intent: to accomplish | |||
background: empirical background of the pattern, range of manifestation, etc. | motivation: illustrative scenario, design problem | background | motivation: why important | |||||
TROST (2005) 4. Concerns* |
Alexander (1977) |
GoF (1995) |
PL:PW (1997) |
J2EE (2001) |
PeB (2001) |
MS Style (2003) |
Garfinkel (2005) |
|
abstraction | implementation | |||||||
† forces: considerations to take into account, relative force implied by context | forces: reasons, motivation, justification | business drivers | forces: considerations arising within the context and having to be reconciled in the considered approach | |||||
IT drivers | ||||||||
TROST (2005) 5. Approach* |
Alexander (1977) |
GoF (1995) |
PL:PW (1997) |
J2EE (2001) |
PeB (2001) |
MS Style (2003) |
Garfinkel (2005) |
|
abstraction | implementation | |||||||
solution statement: therefore ... | † solution: proposed solution, relative to context and clearly related to forces | solution: brief sketch, detailed elements | solution | ‡ solution: simple statement, supporting details | ||||
solution rationale | ||||||||
solution detail: field of relationships required to solve the problem, in the context, and instructions of what to bring about |
|
|||||||
solution diagram: depicting the
solution with labeled components ◊ ◊ ◊ |
structure: object model | structure: UML model | diagram | |||||
TROST (2005) 6. Realization* |
Alexander (1977) |
GoF (1995) |
PL:PW (1997) |
J2EE (2001) |
PeB (2001) |
MS Style (2003) |
Garfinkel (2005) |
|
abstraction | implementation | |||||||
|
participants: classes and objects and responsibilities | strategies: different ways to implement | guidelines for use |
‡ implementation strategy
|
implementation: sketch | |||
collaborations: how the participants collaborate | ||||||||
implementation: considerations, pitfalls, hints, techniques | ||||||||
sample code: fragments, sketch | code samples: showing how to implement pattern | sample code: exemplary, beyond strategies if needed |
|
|||||
TROST (2005) 7. Considerations* |
Alexander (1977) |
GoF (1995) |
PL:PW (1997) |
J2EE (2001) |
PeB (2001) |
MS Style (2003) |
Garfinkel (2005) |
|
abstraction | implementation | |||||||
deployment considerations | ||||||||
testing considerations | ||||||||
security considerations | ||||||||
operational considerations | ||||||||
TROST (2005) 8. Consequences* |
Alexander (1977) |
GoF (1995) |
PL:PW (1997) |
J2EE (2001) |
PeB (2001) |
MS Style (2003) |
Garfinkel (2005) |
|
abstraction | implementation | |||||||
consequences: trade-offs, variations, how it contributes [preceding implementation] | resulting context: context after pattern is applied, including problems to solve, more patterns, next ones in a pattern language | consequences: trade-offs, results, pros & cons [after strategies] | benefits | resulting context
|
results | |||
limitations | ||||||||
TROST (2005) 9. Usage |
Alexander (1977) |
GoF (1995) |
PL:PW (1997) |
J2EE (2001) |
PeB (2001) |
MS Style (2003) |
Garfinkel (2005) |
|
abstraction | implementation | |||||||
known uses: actual cases from different domains | examples: concrete illustrations of the pattern | putting the pattern to use | examples | known uses | ||||
patterns needed to complete, fill in this one | related patterns: differences, which used with this one | related patterns: other solutions, variations, patterns solving problems in the resulting context | related patterns |
variants:
on the pattern ‡ related patterns: and how related |
participants: patterns [with responsibility] | |||
TROST (2005) 10. Sources* |
Alexander (1977) |
GoF (1995) |
PL:PW (1997) |
J2EE (2001) |
PeB (2001) |
MS Style (2003) |
Garfinkel (2005) |
|
abstraction | implementation | |||||||
acknowledgments | ‡ publication: (source) | references | ||||||
acknowledgments |
* identifies key subsection of a TROST pattern description also typically reflected on any cover-sheet or "pattlet (Trowbridge, et.al. 2003)."
† mandatory elements identified in the Pattern Language for Pattern Writing (Meszaros & Doble 1997)
‡ required elements identified in the Microsoft Wiki Pattern Style (PatternShare 2005).
- Adams, Jonathan., Koushik, Srinivas., Vasudeva, Guru., Galambos, George (2001).
- Patterns for e-Business: A Strategy for Reuse. IBM Press, White Plains, NY. ISBN 1-931182-02-07 pbk+CD-ROM. The pattern format and approach is described in Chapters 2-3. There is a web site that employs this methodology at <http://www-128.ibm.com/developerworks/patterns/>.
- Alexander, Christopher., Ishikawa, Sara., Silverstein, Murray., Jacobson, Max., Fiksdahl-King, Ingrid., Angel, Shlomo (1977).
- A Pattern Language: Towns ∙ Buildings ∙ Constructions. Oxford University Press, New York. ISBN 0-19-501919-9. pp. x-xi define the pattern format.
- Alur, Deepak., Crupi, John., Malks, Dan (2001).
- Core J2EE Patterns: Best Practices and Design Strategies. Forewords by Grady Booch and Martin Fowler. Sun Microsystems Press, Prentice Hall PTR, Upper Saddle River, NJ. ISBN 0-13-064884-1 pbk. Portions available on-line via <http://java.sun.com/blueprints/corej2eepatterns/index.html>. Their pattern template is on pp. 138-129 in Chapter 6.
- Gamma, Erich., Helm, Richard., Johnson, Ralph., Vlissides, John (1995).
- Design Patterns: Elements of Reusable Object-Oriented Software. Foreword by Grady Booch. Professional Computing Series, Addison-Wesley, Boston. ISBN 0-201-63361-2. Section 1.3 defines the pattern format. The choice of point of view and focus on a particular level in object-oriented development is described in Section 1.2.
- Garfinkel, Simson L. (2005)
- Design Principles and Patterns for Computer Systems That Are Simultaneously Secure and Usable. Ph.D Dissertation, Massachusetts Institute of Technology, May. 473 pp. Available on the Internet at: <http://www.simpson.net/thesis/> (accessed on 2005 July 21). Section 2.3.5 addresses pattern usage with respect to security and generally. Chapter 10 specifies the design principles and patterns. The format is specified at the beginning of the chapter.
- Meszaros, Gerard., Doble, Jim (1997).
- A Pattern Language for Pattern Writing. pp. 529-574 in Pattern Languages of Pattern Design 3. Software Pattern Series, Addison-Wesley, Reading, MA. ISBN 0-201-31011-2. Web version at <http://hillside.net/patterns/writing/patterns.htm> (accessed 2005-07-23).
- PatternShare (2005).
- Microsoft Wiki Pattern Style. Web page, Community Contributions, PatternShare.org, July 23. At <http://patternshare.org/default.aspx/Home.Community.MicrosoftWikiPatternStyle>.
- Trowbridge, David., Mancini, Dave., Quick, Dave., Hohpe, Gregor., Newkirk, James., Lavigne, David (2003).
- Enterprise Solution Patterns Using Microsoft .NET, version 2.0. Foreword by Ward Cunningham. Patterns & Practices. Microsoft Corporation, Redmond, WA. ISBN 0-7356-1839-9. Available on-line at <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/Esp.asp> with download as .PDF also there.
created 2005-08-21-17:27 -0700 (pdt) by
orcmid |