我有一个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/

10-11 23:13
查看更多