1、首先使分类Category:
public class Category { private String name; }
|
简单期间先给个name,当然id每个model都有的,先省略掉了2、问题标签类Tag:
public class Tag {
private String name; private String description; private int count; }
|
3、用户类User:
public class User {
private String userName;
private int userScore;
private List<Answer> answers;
private List<Question> questions; }
|
用户包含问过的问题和回答过别人的问题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里了。
|
5、回答类Answer:
public class Answer {
private String content; private int vote; private User answerer; private User editUser; private boolean bestAnswer; private List<QuestionComment> questionComments; }
|
6、评论Comment:
public class Comment {
private String content; private User commentUser; }
|
这个类的设计目的就是做一个跟so类似的,可以在问题和回答中添加内嵌的回复
请大牛们帮忙看下,这么设计model有没有什么问题,什么地方需要修改下?
由于画类图工具还没下载下来,先麻烦大家看下代码吧,等软件下载下来了,我再上类的关系图。
[该贴被mistbow于2013-04-12 16:54修改过]