first commit
Decorator Pattern
Decorator Pattern 2
begin abstractfactory