单项选择题

哪种设计模式能够在不改变对象自身的基础上,在程序运行期间给对象动态的添加职责(方法或属性)?()

A.代理模式
B.装饰器模式
C.适配器模式
D.策略模式