gpt4 book ai didi

java - 哪个更好,编写另一种方法还是向现有方法添加更多参数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:46:55 24 4
gpt4 key购买 nike

我有一个方法:

public Question createQuestion(String text, Project project, User createdUser, Date createdDate)

Controller 正在使用此方法创建问题。现在参数中没有标记。我想实现一个向问题添加标签的功能。

要添加标签,我需要向其传递一个 tagSet,当用户在创建问题时未向问题添加标签时,该标签集也可以为空。那么,我是应该再向它传递一个参数,然后在将其添加到问题对象之前放置一个 if 条件,还是应该编写一个单独的方法?

public Question createQuestionWithTags(String text, Project project, User createdUser, Date createdDate,Set<Tag> questionTagSet)

将调用 createQuestion,然后在上述 createQuestion() 方法返回的对象中设置 questionTagSet。如果我编写另一种方法,那么将在 Controller 中检查空标签,如果没有,则检查条件将在实用程序中完成。哪种方法更好?

另外,在相同的上下文中重载该方法怎么样?

最佳答案

这是 Builder Pattern 的理想候选者.在 Question 中声明一个构建器, 使用 Fluent Interface Pattern 设置参数, 调用 build()最后实例化适当构造的具体Question实例。它看起来像:

Question.builder().withText(text).withProject(project).build();

需要指定一组标签的事件会为上述代码提供后缀,调用 withTags(tags)。在调用 build() 之前.

关于java - 哪个更好,编写另一种方法还是向现有方法添加更多参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51754607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com