我有以下設置: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