【简答题】
A、A.工厂模式可以根据所提供的数据返回某一子类的实例 B、B.工厂模式中,通常分为工厂类和工厂方法 C、C.工厂模式中,子类都有相同的方法 D、D.工厂模式中,子类都实现不同的功能
A、当要实例化的类是在运行时刻指定时,例如,通过动态装载 B、当你要强调一系列相关的产品对象的设计以便进行联合使用时 C、为了避免创建一个与产品类层次平行的工厂类层次时 D、当一个类的实例只能有几个不同状态组合中的一种时
A、可以通过一种动态的方式来扩展一个对象的功能,通过配置文件可以在运行时选择不同的装饰器,从而实现不同的行为 B、可以使用多个具体装饰类来装饰同一对象,得到功能更为强大的对象 C、具体构件类与具体装饰类可以独立变化,用户可以根据需要增加新的具体构件类和具体装饰类,在使用时再对其进行组合,原有代码无须改变,符合“开闭原则” D、使用装饰模式进行系统设计时将产生很多小对象 E、装饰模式比继承更加易于出错,排错也很困难,对于多次装饰的对象,调试时寻找错误可能需要逐级排查,较为烦琐