G{\rm ood} O{\rm bject}-O{\rm riented} D{\rm esign}

  • organize and reduce dependencies between classes

Client

-- A method m is a client of C if m calls a method of C

Supplier

-- If m is a client of C then C is a supplier of m

Acquaintance

-- C is an acquaintance of m if C is a supplier of m but not (the type of) an argument of m or (of) an instance variable of the object of m\nl [] C is a preferred acquaintance of m if an object of C is created in m or C is the type of a global variable\nl [] C is a preferred supplier of m if C is a supplier and C is (the type of) an instance variable, an argument or a preferred acquaintance\nl
slide: Clients, suppliers and acquaintances