1、首先使分类Category:
public class Category {
private String name;
}
<p>
|
简单期间先给个name,当然id每个model都有的,先省略掉了
2、问题标签类Tag:
public class Tag {
private String name;
private String description;
private int count;
}
<p>
|
3、用户类User:
public class User {
private String userName;
private int userScore;
private List<Answer> answers;
private List<Question> questions;
}
<p>
|
用户包含问过的问题和回答过别人的问题List
4、问题类Question:
public class Question {
private String title;
private String content;
private int score;
private int vote;
private int view;
private boolean solved;
private List<Answer> answers;
private User askUser;
private User editUser;
private Category category;
private List<Tag> tags;
private List<QuestionComment> questionComments;
private List<User> focusUsers;
}
这里类有几个疑问
1.浏览数怎么设计比较好呢?先放缓存,然后定时更新数据库的这个字段么?
2.answers遍历的时候,怎么把最佳答案放在最前面呢?然后只有遍历然后判断字段这样确定么?有没有其他好的办法,比如单独弄出来一个Answer成员变量,不
放在list里了。
<p>
|
5、回答类Answer:
public class Answer {
private String content;
private int vote;
private User answerer;
private User editUser;
private boolean bestAnswer;
private List<QuestionComment> questionComments;
}
<p>
|
6、评论Comment:
public class Comment {
private String content;
private User commentUser;
}
<p>
|
这个类的设计目的就是做一个跟so类似的,可以在问题和回答中添加内嵌的回复
请大牛们帮忙看下,这么设计model有没有什么问题,什么地方需要修改下?
由于画类图工具还没下载下来,先麻烦大家看下代码吧,等软件下载下来了,我再上类的关系图。
[该贴被mistbow于2013-04-12 16:54修改过]