下面是一个简单的例子:
class Class_A {
protected $_property;
public function method()
{
Class_B::method($this);
}
public function getProperty()
{
return $this->_property;
}
}
class Class_B {
public static function method(Class_A $classA)
{
$classA->getProperty();
}
}
$classA = new ClassA();
$classA->method();
是以往任何时候都好传递$此作为参数传递给另一个类的方法?或者是总是会紧耦合吗?我可以使用工厂模式代替静态方法调用提出另一个类似的例子。
非常感谢。现在我正试图想一想使它紧密结合的确切行为 – Dan 2011-12-18 22:12:20
请参阅[这个问题](http://stackoverflow.com/questions/2832017/what-is-the-difference-between-loose-coupling-和物体紧密耦合),以获取更多信息。总之:在你的例子中''Class_B''依赖'Class_A',而使用一个接口删除这个依赖。您可以通过使用实现了该接口的模拟对象来独立测试'Class_B'。 – cmbuckley 2011-12-18 22:36:03