如何在java项目中设计模型类
我不熟悉jsp。我想做一个测试项目来熟悉它
我选择做的项目是设计一个网站,人们可以注册并为自己制作简历
每个注册的人都可以定义他以前从事过的一些项目
例如,如果我注册用户名SHT并定义PROJECTA和PROJECTB,这意味着这些项目应该显示在我的简历中
顺便说一下,我想使用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-第二种方法,我可以为项目创建一个类,该类包含以下字段:ProjectId,ProjectName。我为用户提供了另一个类,其中包含以下字段:用户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中的每个UserProject对象,在解决方案2中某个用户的项目列表中有一项
做一个项目->;用户搜索他们的表现也一样好,因为在解决方案2中,你必须检查每个用户,看看他们从事的项目与解决方案1中的每个用户项目相同
对于做一个用户->;projects search solution 2速度更快,因为它可以直接从拥有答案的用户那里获取列表
我自己也会提出另外两个解决方案,我们称之为解决方案3和解决方案4
解决方案3:与解决方案2相同,但反过来说,项目会存储一个用户列表
解决方案4:解决方案2和解决方案3的组合,用户存储他们正在处理的项目,项目存储用户正在处理的项目
所有解决方案的优缺点:
我认为解决方案1绝对是最糟糕的选择,其他的取决于你的情况