CSC/ECE 517 Fall 2007/wiki3 5 ns

From Expertiza_Wiki
Jump to navigation Jump to search

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://www.cse.ucsd.edu/classes/fa06/cse111/lectures/Lecture%206%20%20Design%20Evaluation%20and%20Intro%20to%20OO%20Patterns.ppt

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://books.google.com/books?id=r8i-4En_aa4C&pg=PA228&lpg=PA228&dq=%22creator+pattern%22+example&source=web&ots=mT9HKWvlQX&sig=zsygR_-22hq9SfNOQLSiAaEExy8#PPA216,M1

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

http://www.perisic.com/oosd/design/GRASP.ppt

http://www.christmann.ws/ucis342/class7/class7.html