我的團隊正在設計一個域模型,它將在統一的資源庫抽象背後隱藏各種不同的數據源。這種方法的主要驅動因素之一是這些數據源在不久的將來會發生重大變化的可能性很高,我們不希望在這種情況發生時重寫業務邏輯。一個數據源將成爲我們的會員數據庫,最初使用默認的ASP.Net成員資格提供程序實施。成員資格提供者與System.Web.Security命名空間綁定,但我們有一個設計原則,要求我們的領域模型層不依賴於System.Web(或任何其他實現/環境依賴),因爲它將在不同的環境中使用 - 我們也不希望我們的網站直接與數據庫進行通信。與存儲庫模式的.NET成員關係
我在考慮採用什麼樣的方法來協調MembershipProvider方法與抽象的n層體系結構。我最初的感覺是,我們可以創建一個「DomainMembershipProvider」,它與域模型交互,然後在模型中實現處理存儲庫和處理驗證/業務邏輯的對象。然後,存儲庫將使用我們的(尚未確定的)ORM /數據訪問工具來實現數據訪問。
這種方法是否有任何明顯的漏洞 - 我沒有與MembershipProvider類密切合作,所以可能會漏掉一些東西。另外,是否有一種方法可以更好地滿足上述要求?
在此先感謝您的意見和建議。
問候, 扎克
是的,那正是我們的問題。正如我在答案中所提到的,我們從來沒有解決過這個問題讓我們滿意,所以最終只是放棄了會員提供商。祝你好運找到解決方案 - 也許如果你想出了一個更好的解決方案,你可以在這裏發佈它來幫助其他人在類似的情況? – 2011-01-21 14:37:30