说,我有不同类型的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.
}
问题是: 现在我需要为他们设计一个管理面板,我不想单独管理每种类型的组织。
我想仅在页面上管理所有组织。
那么,我该如何制作呢?
我应该将所有数据放入一个名为Organization
的表并添加一个Type
字段,还是只为不同的组织创建不同的表?
答案 0 :(得分:0)
这不是战略模式的用例,因为根据某些情况你不需要任何类型的算法/行为。
您的3个不同的类看起来不属于同一类别,因为它们完全具有不同的字段。对我来说,这看起来像你需要创建不同组织的实例,你也应该知道他们的类型。
首先要弄清楚你是否能找到你们班级之间的共性。如果是,则从接口实现它们并获得工厂类,该工厂类将根据某些输入参数创建每个组织。 如果你在课堂上找不到任何共性,那么你应该将它们视为不同,因为它们彼此无关。