暴露类的子集 - 设计问题

时间:2011-03-09 05:51:15

标签: design-patterns class-design

假设我的产品类别大约有100个属性。现在对于某些操作(说税计算),我真的不需要这种庞大的产品类型,而只需要一个具有价格相关属性的子集。我不确定是否应该创建具有我感兴趣的属性的不同快照(类)产品。什么是理想的方法,以便我不会不必要地传递未应用的绒毛?

提前致谢。

2 个答案:

答案 0 :(得分:4)

我建议您查看SRPInterface Segregation Principle。一个有100个属性的类可能做得太多了。您还应该注意这些子集,如果它们是您可以提取为接口或超类的东西。如果是,那么您需要使用SRP并确保您具有正确的继承层次结构。

顺便问一下你的实施和目标平台是什么?

答案 1 :(得分:2)

如果你唯一的理由是避免“绕过未经考虑的绒毛”,那么你真的没有理由去做你提出的建议。可能性是,您使用的语言通过引用传递类实例,所以如果您觉得因为对象太大,它必定是性能问题,可能不是。

如果您正在讨论想要制作消费方法,这些方法可以采用不同类型的实例但共享您希望在该方法中使用的类似属性,那么请查看研究“基类”或“接口”