我有以下设置:MVC> Services> Repositories。现在我想让用户能够将注释添加到文档。只有与文档相关的用户(无论是作为业主或审阅)可以添加注释所以在我NoteService我做以下,以确保用户具有对所选择的文件权限:将方法添加到POCO类
我的问题是,我应该在哪里定义userHasAccess方法?在NoteService中它没有任何意义,因为它正在检查文档。我可以在DocumentService中定义它,但是随后NoteService将需要访问这个,这似乎正在引入更多的耦合。
对我来说,更有意义的是在文档POCO本身上定义它,然后调用document.userHasAccess(...)。这是好的做法,还是应该将POCO域限制为简单的属性?我担心这确实是验证的一部分,通过将该方法放入POCO中,我将分离服务和POCO之间的验证。
我想确保的是我的应用程序易于维护和测试。任何建议,我应该如何解决这个问题将不胜感激!
在POCO 检查这个属性以及不userHasAccess做什么样的检查?代码访问安全性可能适用于您。 – jgauffin 2011-12-16 14:58:52
它只是检查用户是在Document.Owners还是Document.Reviewers中 - 这些是Document和Person之间的多对多关系。 – James 2011-12-16 15:04:37