0
如果我有一個類將被實例化,需要引用每個類相同的數據和/或函數。如何來處理,以遵循正確的編程實踐應該將所有類實例化中相同的數據保存在單獨的靜態類中嗎?
例子(PHP):
class Column {
$_type = null;
$_validTypes = /* Large array of type choices */;
public function __construct($type) {
if(type_is_valid($type)) {
$_type = $type;
}
}
public function type_is_valid($type) {
return in_array($type, $_validTypes);
}
}
然後每一個列上創建的時候,它會保持$_validTypes
變量。這個變量實際上只需要在內存中定義一次,其中創建的所有列都可以引用一個靜態類的靜態函數type_is_valid
,該靜態類將保存$_validTypes
變量,只聲明一次。
是一個靜態類的想法,說ColumnHelper
或ColumnHandler
一個很好的方式來處理這個?或者有沒有辦法在這個類中保存靜態數據和方法?或者,這是爲每個Column重新定義$_validTypes
一個好方法來做事情?