我有一个XML格式的实体:
<Gun>
<Model>FireBall</Model>
<Handy>single-handled</Handy>
<Origin>USA</Origin>
<TTC>
<Range>
<Middle>543</Middle>
</Range>
<Catapulting>400</Catapulting>
<IsMag>true</IsMag>
<IsOptics>false</IsOptics>
<Material>Steel</Material>
</TTC>
</Gun>
并且我在java类中创建了此实体的表示形式:
public class Gun {
private String model;
private String handy;
private String origin;
private int range;
private int catapulting;
private boolean isMag;
private boolean isOptics;
private String material;
}
在我看来,XML中的所有嵌套标记都是Gun的属性,包括TTC的嵌套标记。但是毕竟存在一个问题:也许为TTC创建另一个类会更正确吗?我不能肯定地回答。
最佳答案
我认为您需要为TTC创建第二类。如果您想到达3rd normal form,则需要将TTC声明为另一个实体。第三范式是关系数据库,结构化数据文件和NOSQL数据库中数据结构的最佳实践。
您应该创建一个Ttc类并使用它Gun类。您的消息中没有足够的信息来知道您是否需要范围类。
public class Gun {
private String model;
private String handy;
private String origin;
private Ttc ttc;
}
public class Ttc {
private int range; // not enough info to know if you need a range class
private int catapulting;
private boolean isMag;
private boolean isOptics;
private String material;
}
关于java - 我的实体的OOP模型正确吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42599130/