Templates zur Beschreibung von Mustern
Aus AKAEM
Das aktuelle Basistemplate für die Beschreibung von Mustern in diesem Wiki basiert auf den folgenden Templates. Das Basistemplate soll aber nur eine kurze Beschreibung des Musters bieten und dann ausführlicher auf die Einsatzkriterien eingehen.
Templates für Muster (Patterns)
Gang-Of-Four Pattern Template (aus GOF)
- Pattern Name (Scope, Purpose) and Classification The pattern's name conveys the essence of the pattern succinctly. A good name is vital, because it will become part of your design vocabulary.
- Intent A short statement that answers the following questions: What does the design pattern do? What is its rationale and intent? What particular design issue or problem does it address?
- Also Known As Other well-known names for the pattern, if any.
- Motivation A scenario that illustrates a design problem and how the class and object structures in the pattern solve the problem. The scenario will help you understand the more abstract description of the pattern that follows.
- Applicability What are the situations in which the design pattern can be applied? What are examples of poor designs that the pattern can address? How can you recognize these situations?
- Structure
- Participants The classes and/or objects participating in the design pattern and their responsibilities.
- Collaborations How the participants collaborate to carry out their responsibilities.
- Consequences How does the pattern support its objectives? What are the trade-offs and results of using the pattern? What aspect of system structure does it let you vary independently?
- Implementation What pitfalls, hints, or techniques should you be aware of when implementing the pattern? Are there language-specific issues?
- Sample Code and Usage Code fragments that illustrate how you might implement the pattern in C++ or Smalltalk.
- Known Uses Examples of the pattern found in real systems. We include at least two examples from different domains.
- Related Patterns What design patterns are closely related to this one? What are the important differences? With which other patterns should this one be used?
Deutsch:
- Name und Klassifikation Guter Name ist wichtig, trägt zur Bildung eines Vokabulars bei
- Zweck Was macht das Muster? Welches Problem löst es?
- Auch bekannt als Andere bekannte Namen
- Motivation Szenario, das das Entwurfsproblem illustriert und wie das Muster das Problem löst
- Anwendbarkeit Bedingungen und wie sie erkannt werden können
- Struktur Klassen- und Interaktionsdiagramme
- Teilnehmer Klassen und Objekte, die Teil des Musters sind, sowie ihre Verantwortlichkeiten
- Zusammenarbeit Wie arbeiten die Teilnehmer zusammen, um ihre Verantwortlichkeiten zu erfüllen?
- Konsequenzen Eventuelle Nachteile; welche Teile der Systemstruktur können unabhängig verändert werden?
- Implementierung Was ist zu beachten? Gibt es sprachspezifische Probleme?
- Beispielcode Codefragmente in C++ oder Smalltalk
- Bekannte Anwendungen Mindestens zwei Anwendungsbeispiele aus real existierenden Systemen aus unterschiedlichen Bereichen
- Verwandte Muster ähnliche Muster und solche, die oft zusammen mit dem beschriebenen Muster benutzt werden
Template in "Core J2EE Patterns" (aus Alur01, p.138)
- Context
- Problem faced
- Forces (reasons, motivations)
- Solution
- Structure
- Strategies (different ways of implementation)
- Consequences
- Sample Code
- Related Patterns
Template in "Patterns in Java" (aus Grand98, p.2)
- Pattern Name
- Synopsis
- Context
- Forces
- Solution
- Consequences
- Implementation
- Java API Usage
- Code Example
- Related Patterns
Template in "Web Service Patterns, Java Edition" (aus Monday03)
Uneinheitlich, z.B.:
- Defining the ...
- Using the ...
- Understanding the Structure of ...
- Understanding the Components of ...
- Understanding the Collaborations in ...
- Preparing to implement a ...
- Introducing ..., and Implementing the ...
- ...
- Leveraging ... in the Case Study
- Summary
- Related Patterns
Template in "Enterprise Java with UML" (aus Arrington01/Gamma95)
- Problem Description
- Solution
- Consequences
- Sample Implementation
- Related Patterns
Templates in "Applying UML and Patterns" (aus Larman02)
in "GRASP: More Patterns for Assigning Responsibility"
- Solution
- Problem
- Example
- Collaborations
- Discussion
- Contraindications [and Liabilities]
- Benefits
- Implementation
- Known Uses
- Related Patterns [and Principles]
- Also Known As; Similar To
in "Architectural Analysis - Software Architecture Document (SAD)"
- Issue
- Solution Summary
- Factors
- Solution
- Motivation
- Unresolved Issues
- Alternatives Considered
Templates in "Patterns kompakt" (aus EilebrechtStarke07)
- Name
- Zweck
- Szenario
- Problem/Kontext
- Lösung
- Vorteile
- Nachteile
- Verwendung
- Varianten
- Verweise
Templates in "UML Kompakt" (aus Balzert01)
- Name
- Zweck
- Anwendbarkeit
- Funktion der Klasse
(Short) Alexanderian Pattern Form (aus Brown98)
- Name
- Technical Discussion
- Therefore
(Canonical) Alexanderian Pattern Template
- Name: The pattern must have a meaningful name.
- Problem: The statement of the problem the pattern is trying to solve.
- Context: A situation giving rise to a problem.
- Forces: A concrete scenario, i.e., description of forces.
- Solution: Proven solution to the problem.
- Examples: A sample of the application of the pattern.
- Resulting context: The state of the system after the pattern has been applied.
- Rationale: Explanation of steps or rules in the pattern.
- Related patterns: Static and dynamic relationship between other patterns.
- Known use: Occurrences of the pattern within the existing systems.
Micro-Pattern Template (aus Brown98)
- Name
- Problem
- Solution
Inductive Mini-Pattern Template (aus Brown98)
- Name
- Context
- Forces
- Solution
Inductive Mini-Pattern Template (aus Brown98)
- Name
- Problem
- Solution
- Benefits
- Consequences
System of Patterns Template (aus Buschmann96)
- Name
- Also Known As
- Example
- Context
- Problem
- Solution
- Structure
- Dynamics
- Implementation
- Example Resolved
- Variants
- Known Uses
- Consequences
- See Also
CORBA Design Pattern Template (aus Brown98)
- Solution Name
- Solution Type
- Intent
- Primal Forces
- Applicability at this scale
- Solution Summary
- Benefits
- Other Consequences
- Rescaling this Solution to other Levels
- Related Solutions
- Example
- Background
Process and Management Pattern Template (aus Brown99)
- Name
- Most Frequent Scale
- Solution Type
- Background
- General Form
- Known Exceptions
- Variations
- Example
- Related Solutions
- Applicability to other viewpoints and scales
Agent Architectural Pattern Template (aus OKS06)
- Name
- Classification
- Problem
- Context
- Goal
- Forces
- Goal
- Autonomy
- Social Ability
- Environment
- Adaptive Behaviour
- Intelligence
- Decision and Action
- Solution
- Control
- Knowledge Management
- Strategy
- Interaction Management
- Environmental Interface
- Structure
- Dynamics
- Known uses
- Resulting Context
Agent Interaction Pattern Template (aus OKS06)
- Name
- Classification
- Problem
- Context
- Forces
- Environment
- Adaptive Behaviour
- Security
- Language
- Solution
- Interaction Strategy
- Structure
- Dynamics
- Ontology
- Known uses
- Resulting Context
- Related Patterns
Templates für AntiPatterns (Anti-Muster)
AntiPattern Template (aus Brown99)
- Name
- Also Known As
- Most Frequent Scale
- Refactored Solution Name
- Refactored Solution Type
- Root Cause
- Unbalanced Forces
- Annecdotal Evidence
- Background
- General Form
- Symptoms and Consequences
- Typical Causes
- Known Exceptions
- Refactored Solution
- Variations
- Example
- Related Solutions
- Applicability to other viewpoints and scales
- References and Resources
Pseudo-AntiPattern Template (aus Brown99)
- Name
- Problem
Mini-AntiPattern Template (aus Brown99)
- Name
- AntiPattern Problem
- Refactored Solution
AntiPattern Template (aus J2EEAP)
- Name
- Catalog Items
- Also Known As
- Most Frequent Scale
- Refactorings
- Refactored Solutions Type
- Root Causes
- Unbalanced Forces
- Annecdotal Evidence
- Detail Items
- Background
- General Form
- Symptoms and Consequences
- Typical Causes
- Known Exceptions
- Refactorings
- Variations
- Example
- Related Solutions
Code Smell Template (aus Wake04)
- Symptoms
- (How it Got This Way)
- Causes
- What To Do
- Payoff
- (Discussion)
- Contraindications
- (Notes)
AntiPattern Template in "Bitter Java" Tate02 und "Bitter EJB" Tate03
- Related Antipatterns
- Description
- Most Frequent Scale
- Refactored Solution Name
- Refactored Solution Type
- Refactored Solution Description
- Typical Causes
- Annecdotal Evidence
- Symptoms, Consequences
- Alternative Solutions
AntiPattern Template in HATBP04
- the definition (name, description, and category),
- an example of occurrence (code samples),
- the re-factoring solution (hints and tips),
- possible conflicts of applying the proposed solutions,
- the possible detection technique(s), and
- comments (e.g., source of the antipattern).
AntiPractice Template aus KH04
- Name The name of the AntiPractice
- Background The context where the symptom occurs
- Symptom Visible bad phenomena
- Cause Why the symptom occurs
- Ideal What it should really be
- Prescription Countermeasures that stop the symptom by attacking the cause and making it close to the ideal, including prevention.
Andere Templates
Bug Pattern Template (aus Allen02, p.52)
- Pattern Name
- Symptoms
- Causes
- Cures and Preventions
Pitfall Templates (aus Webster95)
- Name
- Description
- Symptoms
- Consequences
- Detection
- Extraction
- Prevention
Template in "Refactoring" (aus Fowler00)
(auch wenn nicht direkt Muster)
- Motivation
- Vorgehen/Mechanics
- Beispiel/Example
Experience Template (aus Kamel03)
- Name: a unique identifier for the experience.
- Type: Praxis, Modus or Concrete.
- Objective: describes the objectives of the process described in the package.
- Description: is a detailed description of the actual experience.
- Context: characterization of the environment from which the experience was acquired.
- Features: features of the experience that make it distinctive from other experiences in the EB.
- Related Experiences: listing of experience packages semantically linked to current experience (e.g. uses, contains), as well as information for navigation among experiences (e.g. linking inspection Modus package with corresponding inspection concrete packages)
- References: Additional material discussing the experience (books, articles, manuals, etc.).
- Comments: any additional information important for using the experience.
- Administration: listing of administrative information.
Quality Pattern Templates (aus Houdek97)
- Classification
- Abstract
- Problem
- Solution
- Context
- Example
- Explanation
- Related Experience
- Administration Information
