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.
}

问题是: 现在我需要为他们设计一个管理面板,我不想单独管理每种组织。

我只想在 page 中管理所有组织

那么,我该怎么做呢?

我应该将所有数据放入一个名为Organization并添加一个Type字段的表中,还是只为不同的组织创建不同的表?

4

1 回答 1

0

这不是策略模式的用例,因为您不需要任何类型的算法/行为,具体取决于某些情况。

您的 3 个不同的类看起来并不属于同一类别,因为它们完全具有不同的字段。对我来说,这看起来像是您需要创建不同组织的实例并且您还应该知道它们的类型。

所以首先要找出你是否能找到你的类之间的共性。如果是,则从接口实现它们并获得一个工厂类,该类将根据某些输入参数创建每个组织。如果您在自己的类中找不到任何共性,那么您应该将它们视为不同的,因为它们彼此之间没有任何关系。

于 2013-06-26T13:51:22.423 回答