各クラスで同じになるデータや関数を参照する必要があるインスタンス化されるクラスがある場合。適切なプログラミング手法に従うために、これをどのように処理する必要がありますか
例 (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
これを処理する良い方法ですか? または、このクラス内に静的データとメソッドを保持する方法はありますか? または、この$_validTypes
for each Column の再定義は、物事を行うための適切な方法ですか?