【发布时间】:2011-03-12 17:56:49
【问题描述】:
在工作中的大重构期间,我希望引入 stdClass ***** 作为从函数返回数据的一种方式,并且我试图找到非主观的论据来支持我的决定。
在什么情况下最好使用一种代替另一种??
使用 stdClass 代替数组有什么好处??
有些人会说函数必须尽可能少和特定才能返回一个单一的值。我使用 stdClass 的决定是暂时的,因为我希望从长远来看为每个进程找到正确的值对象。
【问题讨论】:
-
见:stackoverflow.com/questions/2056931/… 它没有回答我的问题。他说“真正的”课程将是最好的方法,(我认为)我们都同意。我仍然想知道“何时”使用 stdClass 返回值比使用数组更好。
-
你可能想澄清你的值对象的概念。 In DDD a Value Object is immutable 和VOs in Java. 的目的完全不同
-
@Gordon 我的意思是,一个“类似VO”的函数返回指南。将 VO 作为(最好)小对象,其中只有他的属性很重要,而不是他的身份。关于您的链接,您是否试图找出对我(我的问题)关于“VO 应该是不可变的 Vs VO 可以是可变的”的讨论是否重要?顺便说一句,现在 VO 是太阳的 TO(传输对象)。 java.sun.com/blueprints/corej2eepatterns/Patterns/…
-
我还不确定你是否只是想解决 PHP 不支持多个返回值的问题或其他问题。是的,可变性重要吗?也许您正在寻找元组(例如在 Python 中)?
-
@Gordon 感谢您的关注。正如你刚才所说,我想我的问题主要集中在寻找一种“好”的方式(在 OOP 中)来传递多个值作为函数调用的返回。你认为我应该编辑我的问题还是这个 cmets 可以完成这项工作?