多くの場合、コンフィグレーション可能なオブジェクトをエンジニアリングする必要があります。機能。Java設定/パラメータ渡しデザイン
例として、DateIterator
を作成しているとします。構成可能なオプションは、閉じた間隔を反復するかどうかである。[start, end]
またはオープンエンドの間隔[start, end)
。
- (1)、私の意見では、無様な解決策 - 一つだけ真/偽設定オプションに限定
new DateIterator(boolean openInterval);
- (2)タイプセーフな列挙方法 - 一般的にビットかさばる
new DateIterator(Interval.OPEN_END);
- (3)unconv entionalしよう - 素敵ではなく、あまりにもまっすぐ
new DateIterator().openEnd();
- (4)相続のアプローチ - 多くの場合、オーバーエンジニアリングこれは私が悪い検討し、いくつかの選択肢が来るへ
new OpenEndedDateIterator();
整数ベースの設定new DateIterator(Interval.OPEN_END);
やプロパティベースの設定などです。
他の方法はありますか?どのアプローチが好きですか?