Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 设计模式:我如何处理不同类型的组织?_Design Patterns_Web_Database Schema - Fatal编程技术网

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个不同类看起来不属于同一类别,因为它们有不同的字段。对我来说,这看起来像是你需要创建不同组织的实例,你也应该知道它们的类型

所以第一件事就是找出你的类之间的共性。如果是,则从接口实现它们,并获得一个工厂类,该类将根据一些输入参数创建每个组织。 如果你在你的类中找不到任何共同点,那么你应该将它们视为不同的,因为它们之间没有任何关联

你需要明确那些“做点什么…”。没有他们,我真的看不出战略模式的必要性。