ValueObject可以独立吗?

问题描述 投票:0回答:1

我的数据库表“垃圾邮件”中包含用户评论中不允许的单词。如果用户使用垃圾邮件表中的任何单词,他们的评论将被自动拒绝。在这种情况下,垃圾邮件是一个值对象吗?因为它不属于任何实体。

public class Spam : ValueObject
{
    public string Word { get; private set; }


    public Spam(string word)
    {
        Word = word;
    }
}

基础设施项目中的服务:

public class SpamService(DatabaseContext databaseContext)
{
    private readonly DatabaseContext _databaseContext = databaseContext;

    public async Task<IEnumerable<string>> GetSpamWords()
    {
        return await _databaseContext.Spam
            .Select(x => x.Word)
            .ToListAsync();
    }
}

我在命令处理程序中使用此服务来检查评论是否有效。

architecture domain-driven-design value-objects ddd-service
1个回答
0
投票

如果您的域模型不关心修改垃圾邮件列表中的条目,那么使用不可变惯用语处理该信息的内存表示是完全合理的。

也就是说,将整个“垃圾邮件字典”视为单个值对象可能更有意义,而不是尝试将每个单独的单词包装在其自己的实例中。

代码为我们工作,我们不为代码工作。 ——迈克“GeePaw”希尔。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.