有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在java项目中设计模型类

我不熟悉jsp。我想做一个测试项目来熟悉它

我选择做的项目是设计一个网站,人们可以注册并为自己制作简历

每个注册的人都可以定义他以前从事过的一些项目

例如,如果我注册用户名SHT并定义PROJECTAPROJECTB,这意味着这些项目应该显示在我的简历中

顺便说一下,我想使用MVC设计

我的问题是,当我想要设计模型类时,我不知道以下场景中哪种方法是最好的:

1-我想到的第一件事是,我可以为用户创建一个类,其中包含用户ID用户名,以及
我需要另一个类用于项目,它包含项目名项目ID,以及另一个类用于用户项目,它具有用户ID项目ID,以便能够找到属于特定用户的项目

在这个例子中,我有一个User类中的User对象,UserId是1,UserName是'SHT'

I have 2 objects from project class :

OBJECT1{ProjectId = 1, ProjectName = "PROJECTA"}

OBJECT2{ProjectId = 2, ProjectName = "PROJECTB"}

and again I have these objects from UserProject :

OBJECT1{UserId = 1, ProjectId = 1} ,

OBJECT2 {UserId =1, ProjectId = 2}

2-第二种方法,我可以为项目创建一个类,该类包含以下字段:ProjectIdProjectName。我为用户提供了另一个类,其中包含以下字段:用户ID用户名和用户项目列表

例如,我有:

2 objects from Projects :

OBJECT1{ ProjectId = 1 , ProjectName = "PROJECTA"}

OBJECTB { ProjectId = 2, ProjectName = "PROOJECTB"}

and an object from User :

USER1 { UserId = 1 , UserNAme = "SHT", ListOfProjects = {ProjectId = 1,ProjectId = 2}}

这是我想到的两种方法。但我不知道在这种情况下哪个更好。 我认为第一种方法可能更好,因为以后我可能想添加一个功能,每个用户都可以注册一些项目,每个用户都可以拥有一个技能列表等等。有了这些功能,我认为第一种方法可能更容易处理

谁能帮我找出哪个更好

如果你认为有更好的方法,我会非常感激

提前感谢您的关注


共 (1) 个答案

  1. # 1 楼答案

    我想说的是,你需要根据三点来判断一个解决方案

    • 存储空间
    • 项目搜索时间->;用户
    • 用户搜索时间->;项目

    对于两个解决方案,存储空间是渐近相等的,对于解决方案1中的每个UserProject对象,在解决方案2中某个用户的项目列表中有一项

    做一个项目->;用户搜索他们的表现也一样好,因为在解决方案2中,你必须检查每个用户,看看他们从事的项目与解决方案1中的每个用户项目相同

    对于做一个用户->;projects search solution 2速度更快,因为它可以直接从拥有答案的用户那里获取列表

    我自己也会提出另外两个解决方案,我们称之为解决方案3和解决方案4

    解决方案3:与解决方案2相同,但反过来说,项目会存储一个用户列表

    解决方案4:解决方案2和解决方案3的组合,用户存储他们正在处理的项目,项目存储用户正在处理的项目

    所有解决方案的优缺点:

    • 解决方案1
      • 小仓库
      • 慢项目->;用户搜索
      • 慢用户->;项目搜索
    • 解决方案2
      • 小仓库
      • 慢项目->;用户搜索
      • 快速用户->;项目搜索
    • 解决方案3
      • 小仓库
      • Fast项目->;用户搜索
      • 慢用户->;项目搜索
    • 解决方案4
      • 大仓库
      • Fast项目->;用户搜索
      • 快速用户->;项目搜索

    我认为解决方案1绝对是最糟糕的选择,其他的取决于你的情况