Jivedon3.0站内消息设计的疑惑。
banq老师您好。今天看了下jivedon3.0源代码,对于站内消息的设计有以下疑惑,请老师解答,谢谢。
第一:关于ShortMessageRepository与ShortMessageFactory的职责问题。
我觉得ShortMessageFactory不应该ShortMessageDao关联,我觉得factory只负责创建新建的消息,以及要保存到草稿箱的消息,只需要保证消息的不变量得到满足,不需要保存消息。相反应该让ShortMessageRepository通过factory来生成出满足不变量约束的消息,然后ShortMessageRepostiory再调用dao去保存消息。不知道这样是否妥当。
第二:关于ShortMessageService与ShortMessageRepostiory的职责问题。
我觉得ShortMessageService的判断接收者是否是论坛用户的操作,应该放到仓库中,因为仓库是管理对象生命周期的地方,所以仓库应该保证消息的合法性,让仓库去判断消息的接收者是否合法。服务只是调用仓库去完成工作,至于领域对象的合法性交给仓库。
第三:站内信删除的问题。
当删除站内信的时候,只要是接收者或者是发送者就可以删除,那么如果发送者发送完消息后,再删除消息,那么接收者就没有机会看消息了,所以我觉得应该再设置两个字段,一个判断接收者同意删除,另一个判断发送者同意删除。当删除消息的时候,只有这个条件都为真的时候才删除。
这些是我看jiveDon的一些疑问,还请老师帮忙解答。谢谢了。
[该贴被xmuzyu于2008-09-01 22:04修改过]
[该贴被admin于2008-09-22 10:55修改过]