装饰模式的使用场景有?
A.需要扩展一个类的功能,或给一个类添加附加职责
B.需要动态的给一个对象添加或卸载功能
C.需要增加由一些基本功能的排列组合而产生的非常强大的功能
D.当不能采用继承的方法进行扩展需求时
正确答案是ABCD