假设我需要为Stack Overflow这样的门户创建一个模型,我有一个类Question
。
有这样的课程是个好主意吗?
public class Question
{
public Guid Id { get; set; }
public int IdCreator { get; set; }
public List<QuestionRevision> QuestionRevisions { get; set; }
public List<Comment> Comments { get; set; }
}
以及包含QuestionRevisions
和Editor
等字段的班级Content
?
答案 0 :(得分:1)
我会从以下内容开始:
public class Question
private Guid id
private List<QuestionRevision> revisions
private List<Comment> Comments
Question(id : Guid, text : String)
getRevisions() : List<QuestionRevision>
addRevision(revision : QuestionRevision) : void
getComments() : List<Comment>
addComment(comment : Comment) : void
所以这里的要点是:
Question
需要更多设置,请考虑使用构建器模式。我几乎从不喜欢看到一个纯粹是集合的持有者的类,比如QuestionRevisions
。 Question
是管理自己的修订并在内部使用自己适当的数据结构来存储它们的好选择(例如,List是明智的)。如果不对Editor
和Content
进一步详细说明,我不确定我是否可以为QuestionRevision
执行任何有意义的伪代码。