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
一个好方法来做事情?