【发布时间】:2017-05-18 11:41:12
【问题描述】:
我有一个名为 Locations 的类,它应该接受 3 个参数名称、city_id、country_id。
传递这些值的最佳解决方案是什么,我应该传递变量或它们的类的实例。
$location = new Locations('Dubai, UAE', 1, 2);
$location = new Locations('Dubai, UAE', $cityId, $countryId);
我相信为了清晰和单一职责我应该使用依赖注入
$location = new Locations('Dubai, UAE', new City('Dubai'), new Country('UAE'));
何时以及为什么应该使用变量 (ID) 而不是实例?
【问题讨论】:
-
或多或少是我的意见,但我觉得你应该只在将对象用于某些计算或操作时才传递对象,而不仅仅是存储它们。可能有人对消息来源有正确的答案。
-
感谢@KevinSijbers
-
这个问题的答案是见仁见智,因此在堆栈溢出方面是题外话。
-
为什么类名是复数形式,因为它只代表一个位置?
-
@worldofjr 感谢您的输入,这是一个最佳实践/设计模式问题,我相信它与 stackoverflow 有一切关系,否则您将看不到人们的回答。无论如何,谢谢。
标签: php oop design-patterns solid-principles