Change Decorate Pattern

Redesign Decorate Pattern and Make it's using more reasonable