我目前正在將應用程序重構爲多個類以嘗試實現單一責任原則;然而,原始龐大類中的許多方法爲其業務邏輯使用一個通用的「元數據」對象(綁定爲類屬性)。通用對象在許多其他類共享
例如:
if($this->metadata->applyTracking) {
// perform tracking logic
}
當我分離這些類時,我正在考慮兩種選擇:
- 傳遞該對象的類的特定的方法,在逐案(可以是許多次發生)。
- 將此對象添加爲類屬性(許多類將注入此屬性)。
- 使得該對象作爲一個Singleton(我警惕這種方法,因爲它可以共享相同的回退爲全局)
任何意見,哪條路徑服用?
謝謝,這指出我在正確的方向。 – jexx2345 2012-02-04 04:50:51