- Facade:
ShapeMaker
- Subsystem Classes:
Shape
,Circle
, etc..
- Facade should know which subsystem classes are responsible for a request
- Facade delegates client requests to appropriate subsystem objects
- Subsystem classes implement subsystem functionally, handle works assigned by the facade
- Subsystem classes have no knowledge of the facade