CSC/ECE 517 Fall 2010/ch7 7d ID
Introduction
GRASP(General Responsibility Assignment Software Patterns)in object oriented design gives guidelines for assigning responsibility to classes and objects. Some of the guidelines include the following:
- To assign a responsibility to a class
- To avoid or minimize additional dependencies
- To maximise cohesion and minimise coupling
- To increase reuse and decrease maintenance
- To maximise understandability
There are nine GRASP patterns: Creator, Controller, Pure Fabrication, Information Expert, High Cohesion, Indirection, Low Coupling, Polymorphism and Protected Variations. In this chapter we will look at the Indirection design pattern with some examples.