动态的给一个对象添加一些额外的职责,就扩展功能而言比生成子类方式更为灵活