FAQ ON PATTERNS.
After today’s lecture, there was a lot of argument in class, so because of that the lecturer asks us to prepare some FAQ for new comer in pattern. The following are the question and answer.
1. Is there a better definition for pattern
For a new person that is just introduce to pattern, the best for the person is to give a simple definition for patterns that is pattern is solution to a problem in a context.
Problem refers to a set of forces goals and constraints that occur in this context.
Solution refers to a canonical design form or design rule that someone can apply to resolve these forces.
2. Is there a better word to describe pattern.
Pattern can be called anything you like.
3. What's the difference between class and pattern?
A pattern is not an implementation. It describes when, why, and how to go about creating an implementation or other engineering product.
4. Who is Christopher Alexander?
Alexander is an architect in the sense of buildings, not software who invented patterns.
5. Are there any disadvantages in pattern taking a negative form?
Perhaps ideally not sets of good patterns would steer you clear of the infinitely many bad designs sometimes called antipatterns you could come up with, as well as all of the contexts in which it is not appropriate to apply a given pattern. But some ideas are so bad yet so prevalent that they deserve explicit mention. One way to do so is to include a Common traps and pitfalls section in a pattern description. Descriptions of bad solutions can form part of the motivation, rationale or forces for a good solution. Patterns may also describe ways of transforming bad solutions into good ones.
5 Some people think pattern is just ideal that can be given to then by anybody.
Because some patterns are so good and useful that even your grandmother knows them. Writing them down makes the context, value and implications of the advice clearer than your anybody probably did.
6. Why should I use patterns?
For the same kinds of reasons that you should reuse good code: Benefiting from the knowledge and experience of other people who have put more effort into understanding contexts, forces, and solutions than you have done or want to do. Further, patterns can be more reusable than code, since they can be adapted so that you can build software to address particular special circumstances that cause you to be unable to reuse an existing component.
7. How do I go about writing a pattern?
This recommendation can be followed.
8. Avoid writing about patterns; just write patterns.
a. Aim for quality, not quantity of patterns.
b. Figure out why the pattern exists or applies.
c. Pick a format for writing about it.
d. Continually iterate and refine.
9. How many patterns do we have?
Some people think there are relatively few undiscovered patterns that nearly everyone ought to know about. Some people think that there are a great many more domain-specific patterns that need to be written.
10. Is the use of patterns necessarily iterative?
In principle, you could be very lucky and have a problem for which there is already a complete set of patterns, and in which each application of a pattern flows into the next, leading to a final product without ever backtracking. But people are never this lucky.
11. Wouldn't it be more useful to teach people to write patterns rather than teaching them to use a bunch of existing patterns?
Both are needed. Neither is more needed.
12. How can we institutionalize the use of patterns where I work?
This recommendation can be followed.
a. Extend design documentation and review practices to also deal with design patterns.
b. Run courses on the use of existing design patterns.
c. Review existing patterns in a writer's workshop.
d. Use a pattern-based style template for documenting designs.
13. Can you use patterns in very large development efforts?
I think yes, because a lot of people has do so and its works for them.
14. Do patterns really work?
Yes it does.
NB
Some people incorrectly use the term design pattern to refer to any object structure, even if it is not in any sense a pattern. Please don't do this.
REFERENCE.
http://g.oswego.edu/dl/pd-FAQ/pd-FAQ.html