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 pattern suggests that Class B should create an instance of Class A if

  • B aggregates instances of A, or;
  • B contains instances of A, or;
  • B records instances of A, or;
  • B closely uses instances of A, or;
  • B has the necessary information for creating the new instance of A.

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