stackoverflow 的面向对象设计

问题描述

我正在尝试为堆栈溢出实现面向对象的设计。我有会员、问题、答案、评论对象。 (为了简单起见,不考虑标签,赏金其他对象)。我无法弄清楚设计中数据的存储。

用户创建一个带有标题和描述的问题、答案、评论。我无法弄清楚应该在哪里保存数据,因为这些对象也属于用户和全局搜索。任何问题也可以回答和评论,但它们也属于用户。所以问题是存储用户特定的和全局的数据。

我有一个思考过程来创建一个存储库,用于保存问题、答案和评论的数据。我可以在成员对象中存储 questionsIds、answerIds、commentIds。同样,问题对象中的 anserIds 和评论。我不确定这是否是面向对象设计的好习惯。

public class Member {
    private long memberId;
    // few more properties
    Member(){

    }
    public long createQuestion(String title,String description){ return 1;}
    public long createAnswer(long questionId,String description){ return 1;}
    public long createQuestionComment(long questionId,String description){ return 1;}
    public long createAnswerComment(long answerId,String description){ return 1;}
}


public class Question {
    private long id;
    private String title;
    private String description;
    Question(String title,String description){

    }
}

以防万一,您需要更多详细信息。我将创建一个 UML 挖掘以获得更多解释。如果有人知道任何好的文章,请在那里推荐我。如果你知道有什么好书可以让我更多地了解面向对象方法,也请告诉我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)