Design patterns 设计模式:我如何处理不同类型的组织?
比如说,我有不同类型的Design patterns 设计模式:我如何处理不同类型的组织?,design-patterns,web,database-schema,Design Patterns,Web,Database Schema,比如说,我有不同类型的组织,我试图使用战略模式 我的组织是这样的: Class Organization { public String id; public String name; public String description; // Do something common. } 因为我有不同类型的组织,而且每种组织都有自己的领域,例如: Class School extends Organization { public String lev
组织
,我试图使用战略模式
我的组织是这样的:
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
字段,还是只为不同的组织创建不同的表?这不是策略模式的用例,因为根据某些情况,您不需要任何类型的算法/行为
您的3个不同类看起来不属于同一类别,因为它们有不同的字段。对我来说,这看起来像是你需要创建不同组织的实例,你也应该知道它们的类型
所以第一件事就是找出你的类之间的共性。如果是,则从接口实现它们,并获得一个工厂类,该类将根据一些输入参数创建每个组织。
如果你在你的类中找不到任何共同点,那么你应该将它们视为不同的,因为它们之间没有任何关联 你需要明确那些“做点什么…”。没有他们,我真的看不出战略模式的必要性。