构造函数有很多次在创建对象时有optional
个参数。稍后他们将使用setter进行设置(例如:在延迟初始化期间)。
我的问题是,在某些情况下,根本无法通过构造函数或setter设置参数。为了这个问题,我调用了这样的实例变量 - dormant
。假设一个标准的pizze示例,其中Pizza(cheese, chicken, toppings).
。客户可能不想获得优惠,可能会留下dormant.
这被认为是不好的做法吗?如果是,那么是否有任何已知模式用dormant
实例变量来清理这些类?
答案 0 :(得分:2)
我认为Decorator Pattern正是您所需要的:
装饰器模式可用于静态地(或在某些情况下在运行时)扩展(装饰)某个对象的功能,而与同一类的其他实例无关。
在此处查看.NET示例:
Please help me understand the "Decorator Pattern" with a real world example.
在这里你可以找到一个Java示例: