pattern-roles-and-type-interface-separation-ground-abstract-coupling

Status: IN

The GoF's distinction between type (interface) and class (implementation) — objects of different classes can share a type — combined with the principle that pattern participants are named roles rather than classes, jointly ground abstract coupling: patterns achieve flexibility precisely because their participants are defined by the roles they play (interfaces/types), not the classes that implement them, making concrete class identity irrelevant to pattern structure.

Justifications

Type/class separation and roles-not-classes together explain why patterns achieve abstract coupling

Depends on (SL): gof-type-is-interface-class-is-implementation, pattern-participants-are-roles-not-classes

JSON