数据库填充的软件工程最佳实践

时间:2012-04-24 20:00:11

标签: database reflection polymorphism

对于非描述性标题感到抱歉,但我真的想不出要放什么。

我在考虑将数据库中的项目与代码中的功能链接在一起的最佳方法。

比方说我有游戏类型网球,足球和篮球。这些将保存在GameType表中的数据库中。

现在打印出给定游戏的得分的功能对于每种游戏类型都是不同的。所以我现在所拥有的是这样的类结构:

public abstract class GameType {
    String name;
    public abstract String getScore(Score s);
}

public class Tennis extends GameType {
    String name = "Tennis";
    public String getScore(Score s){
        // Do something here specifically for tennis
    }
}

public class Football extends GameType {
    String name = "Football";
    public String getScore(Score s){
        // Do something here specifically for football
    }
}

所以我的问题是:

将数据库中的条目与正确的类链接的最佳实践或编程模式是什么?目前我正在使用反射来获取与数据库中的条目同名的类,但我不相信这是最佳选择

2 个答案:

答案 0 :(得分:1)

对于小型应用程序,您可以研究DAO pattern,这是数据库交互的标准模式 对于更大的应用程序,您应该查看ORM模型,例如Hibernate

答案 1 :(得分:0)

您可以使用对象关系映射器(ORM),例如NHibernate。这会将关系数据映射到您的某个类,以便您可以使用数据库中的属性轻松填充对象