将它应用到原始对象内加载另一个对象,像这样的好做法:对象应该自己“加载”另一个对象,还是让另一个对象传递给它?
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;'。 – ThiefMaster
@stereofrog,它实际上是一个普遍的问题 - 我想知道我的栖息地是否糟糕:)我最终希望设置两种类型之间的双向性。 – johnnietheblack
我认为@ J0HN是正确的 - 如果你练习测试驱动开发,你会很快注意到把'new'放入你的协作者几乎是不可能的,因为你不能轻易地模拟和存储它们。代码重用也受到严重阻碍。不要这样做。看看[清洁代码会谈](http://www.youtube.com/results?search_query=The+Clean+Code+Talks&aq=f) – Gordon