首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哲学对象/属性参数查询

哲学对象/属性参数查询
EN

Stack Overflow用户
提问于 2010-11-12 14:34:23
回答 1查看 59关注 0票数 0

我正在查看我编写的一些代码,并认为“应该将该对象传递给方法,还是只传递它的一些属性?”

让我解释一下:

这个对象大约有15个属性-用户输入。然后,我有大约10种方法使用这些输入中的5种。现在,如果每个方法都有一个参数--“用户输入对象”,则界面看起来要干净得多。但是每个方法都不需要所有这些属性。我只需传递每个方法所需的属性。

我问这个问题的事实表明我接受了我可能做错了什么。

讨论.)

编辑:以添加冷静:

从网页上,用户输入关于他们的房子和花园的详细信息。门数、房间数及其他性质的物业(共15间)。

这些细节作为简单的整数属性存储在"HouseDetails“对象上。

"HouseDetails“的一个实例被传递到"HouseRequirementsCalculator”中。这个类有10个私有方法,如“计算地毯面积”、"caclulateExtensionPotential“等。

对于我的查询示例,让我们使用"CalculateAreaOfCarpet“方法。

  • 是传递"HouseDetails“对象
  • 还是传递"HouseDetails.MainRoomArea,HouseDetails.KitchenArea,HouseDetails.BathroomArea”等
EN

回答 1

Stack Overflow用户

发布于 2010-11-12 14:39:28

传递单个属性--并且在每种情况下都不同--看起来非常混乱。我宁愿把所有的东西都传递出去。

请注意,你对自己的处境没有给予足够的洞察力。也许试着描述一下这些东西的实际用法?这个具有15个属性的对象是什么?是在同一对象上使用最多5个输入的“10个方法”,还是其他方法?

在问题被编辑之后

我肯定应该传递整个对象,并在Calculator类中进行必要的计算。

另一方面,您可能会发现领域驱动设计是一个有吸引力的替代方案(http://en.wikipedia.org/wiki/Domain-driven_design)。关于这些原则,您可以将方法从计算器添加到HouseDetails类中。领域驱动的设计是相当不错的风格编写应用程序,只是取决于有多干净的方式是你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4165663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档