【发布时间】:2011-09-26 07:44:03
【问题描述】:
从原始对象中加载另一个对象是否是一种好习惯,如下所示:
Class parent() {
$child;
function loadChild() {
$child = new Child();
$this->child = $child;
}
}
或者,子对象是否应该总是单独传入?
Class parent() {
$child;
function setChild(child $child) {
$this->child = $child;
}
}
$parent = new Parent();
$child = new Child();
$parent->setChild($child);
哪个是更好的选择,更灵活等?
【问题讨论】:
-
尽管这只是一个例子:它应该是
private %child;而不是$child;。 -
@stereofrog,这实际上是一个普遍的问题 - 我想知道我的栖息地是否不好 :) 最后,我希望在两种类型的类之间建立双向性。跨度>
-
我认为@J0HN 做对了——如果您练习测试驱动开发,您很快就会注意到将
new加入您的合作者几乎是从来没有一个好主意,因为您不能轻松地模拟和存根它们。代码重用也受到它的严重阻碍。不要这样做。看看The Clean Code Talks
标签: php oop separation-of-concerns