1
我有两个PHP类,ResultCounter
和ResultDetail
,第一个依赖于第二个,但第二个不依赖于第一个。我感到这些类应该正式链接,但我不知道该怎么做。链接相关类但不能扩展
我曾考虑过创建第一个子类,但这不起作用,因为第一个有许多(但有限数量)的第二个实例。
下面是这两个类的基础知识,让您知道我在说什么。
class ResultCounter {
private $W;
private $L;
private $D;
private $T;
private $A;
private $X;
private $B1;
private $B2;
function __construct() {
$this->W = new ResultDetail;
$this->L = new ResultDetail;
$this->D = new ResultDetail;
$this->T = new ResultDetail;
$this->A = new ResultDetail;
$this->X = new ResultDetail;
$this->B1 = new ResultDetail;
$this->B2 = new ResultDetail;
}
// some other functions
}
class ResultDetail {
public $count = 0;
public $batfirst;
public $batsecond;
// some functions but don't ever reference ResultCounter
}
在项目中有时还需要单独的ResultDetail
实例。
有没有办法链接这些类,以便ResultCounter
明确依赖于ResultDetail
?是否足够在构造函数中定义实例,或者我应该不担心这个问题?
紧耦合(您已经拥有)通常被认为是不好的做法。为什么你想添加更多的“链接”?我会换另一种方式,并考虑让ResultCounter类在构造函数中使用一个IResultDetailFactory – Steve 2014-10-06 21:13:07