Recipe Decorator
1) write it out
2) create abstract class to be decorated and abstract decorator class
3) in constructors of toBe decorated objects include descriptions and such
4) add whatever other methods your toBe decorated objects may require
5) in decorator subclass’s, create reference to toBe decorated objects superclass, and reference in constructor
6) apply description methods and other such things, remember to essentially extend them by calling the original and adding on to them.
7) in driver code, create object reference variable to whatever subclass of toBe decorated objects you want, but make it the type of the toBe decorated objects superclass (one step up the hierarchy)
create the appropriate methods and SOP to exress output,then go ahead and create new objects and call each appropriate decorator, with the new object that is being created as an input in the constructor.
9) hit run;