Principles and Architecture / GRASP
Polymorphism
Original notes by SunDiaL · View English source
Problem: How to handle alternatives based on type? How to create pluggable software components? Solution: When related alternatives or behaviors vary by type (class), assign responsibility for the behavior—using polymorphic operations—to the types for which the behavior varies.
Up from Polymorphism