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