CSC/ECE 517 Fall 2007/wiki3 5 ns
Take the Creator pattern and catalog the information on it available on the Web. Explain how it is different from the Factory pattern. Find good descriptions and good, concise, understandable examples. Tell which you consider the best to present to a class.
GRASP
GRASP stands for General Responsibility Assignment Software Patterns (or Principles), and they are the common object-oriented design patterns or principles that assign responsibility to classes and objects. Some of GRASP includes Information Expert, Creator, Controller, Low Coupling, High Cohesion, Polymorphism, Pure Fabrication, Indirection, Protected Variations.
What is Creator Pattern?
Creator Pattern is one of the GRASP approaches, which is developed to find an answer to the question of "Who creates an object of class A?" in object-oriented systems. Creator patterns suggests that Class B should create an instance of Class A if
- B aggregates instances of Class, or;
- B contains instances of Class, or;
- B records instances of Class, or;
- B closely uses instances of Class, or;
- B has the necessary information for creating the new instance of Class.
Creator Pattern vs Factory Pattern
Information Available on the Web
http://class.ee.iastate.edu/berleant/home/Courses/SoftwareEngineering/CprE486fall2005/moreGRASP.pdf
http://davidhayden.com/blog/dave/archive/2004/12/06/667.aspx
http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/maps/class4/Creator.html http://web.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/pdf/CS4233%20Class%204.pdf
http://en.wikipedia.org/wiki/GRASP_(Object_Oriented_Design)
http://class.ee.iastate.edu/berleant/home/Courses/SoftwareEngineering/CprE486fall2005/moreGRASP.pdf
http://faculty.kutztown.edu/spiegel/CSc520/PowerPoint/10_GRASP_1.ppt
http://www.augustana.ab.ca/~mohrj/courses/2003.fall/csc220/lecture_notes/responsibilities.html
http://www.soc.napier.ac.uk/module.php3?op=getresource&cloaking=no&resourceid=5938601
http://faculty.inverhills.edu/dlevitt/CS%202000%20(FP)/GRASP%20Patterns.pdf
http://web.njit.edu/~gblank/cis683/Larman%20Chapter%2018.ppt
http://www.academic.marist.edu/~jzbv/SoftwareDevelopment/GRASP.ppt