Resulting context . The state or configuration of the system after the pattern has been applied, including the consequences (both good and bad) of applying the pattern, and other problems and patterns that may arise from the new context. It describes the post-conditions and side- effects of the pattern. Rationale . A justifying explanation of steps or rules in the pattern and also of the pattern as a whole in terms of how and why it resolves its forces in a particular way to be in alignment with desired goals, principles, and philosophies. Related patterns . The static and dynamic relationships between this pattern and others within the same pattern language or system. Related patterns often share common forces. Known uses . The known occurrences of the pattern and its applications within existing systems. This helps validate a pattern by verifying that it needed is a proven solution to a recurring problem. Although it is not strictly required, good patterns often begin with an abstract that provides a short summary of overview. This gives readers a clear picture of the pattern and quickly informs them of its relevance to any problems they may wish to solve (sometimes such a description is called a thumbnail sketch of the pattern, or pattern thumbnail). Anti-patterns A pattern represents a “best practice”, whereas an anti -pattern represents “worst practice” or a “lesson learned”. Anti -patterns come in two varieties: Those describing a bad solution to a problem that resulted in a bad situation. Those describing how to get out of a bad situation and how to proceed from there to a good solution.
Object Oriented Analysis and Design Unit 4 Sikkim Manipal University - DDE Page No. 48 Coplien explains that: The study of anti-patterns is an important research activity. The presence of “good” patterns in a successful system is not enough; you also must show that those patterns are absent in unsuccessful systems. Likewise, it is useful to show the presence of certain patterns (anti-patterns) in unsuccessful systems, and their absence in successful systems. Capturing Patterns The process of looking for patterns to document is called pattern mining (or sometimes reverses architecting). An interesting initiative started within the software community is to share experience with patterns and develop an ever-growing repository of patterns. It is important to remember that a solution in which no forces are present is not a pattern. Focus on practicability . Patterns should describe proven solutions to recurring problems rather than the latest scientific results. Aggressive disregard of originality . Pattern writers do not need to be the original inventor or discoverer of the solutions that they document. Non-anonymous review . Pattern submissions are shepherded rather than reviewed. The shepherd contacts the pattern author(s) and discusses with him or her how the patterns might be clarified or improved on.
- Spring '17
- Object-Oriented Programming, object oriented analysis, Object Oriented Analysis and Design, Sikkim Manipal University