0

たとえば、さまざまな種類の がありOrganization、使用しようとしていますStrategy Pattern

私の組織は次のようになります。

Class Organization {
    public String id;
    public String name;
    public String description;
    // Do something common.
}

私はさまざまな種類の組織を持っているため、すべての種類の組織には独自のフィールドがあります

Class School extends Organization {
    public String level;
    public String annuity;
    // Do something special for school.
}

Class Camp extends Organization {
    public String beginDate;
    public String endDate;
    // Do something special for Camp.
}

問題は次のとおりです 。管理者用の管理パネルを設計する必要がありますが、あらゆる種類の組織を個別に管理したくありません。

ページのみですべての組織を管理したい

では、どうやって作るのですか?

そして、すべてのデータを名前付きの 1 つのテーブルに入れOrganization、フィールドを追加するType必要がありますか、それとも異なる Organizations に対して異なるテーブルを作成する必要がありますか?

4

1 に答える 1

0

これは戦略パターンの使用例ではありません。状況によっては、いかなる種類のアルゴリズム/動作も必要ないからです。

3 つの異なるクラスは、まったく異なるフィールドを持っているため、同じカテゴリに属しているようには見えません。私には、これはさまざまな組織のインスタンスを作成する必要があり、そのタイプも知っておく必要があるように見えます。

したがって、最初に行うことは、クラス間の共通点を見つけることができるかどうかを調べることです。はいの場合は、インターフェースからそれらを実装し、いくつかの入力パラメーターに応じて各組織を作成するファクトリ クラスを取得します。クラスに共通点が見つからない場合は、それらが互いに関連していないため、それらをすべて異なるものとして扱う必要があります。

于 2013-06-26T13:51:22.423 に答える