在我的邏輯層中,我需要檢查各種操作的權限。有些行動是通用的,但有些行爲是非常專業的每個操作都有一個相應的權限層次結構,在執行操作之前進行評估。我一直在圍繞着我的建築理念,但還沒有達到一個我認爲可以擴展,簡單和優雅的穩固理念。操作,權限和體系結構
當前的代碼看起來是這樣的:
public class LogicObject
{
public void Add()
{
Check Add Permission
Perform
}
public void Update()
{
Check Update Permission
Perform
}
}
這種架構的問題在於,首先它是不是真的那麼可擴展的,第二它不允許我檢查的權限,而執行該動作。
另一個想法我是有這樣的事情:
public class AddAction : IAction
{
public bool IsPermitted;
public void Perform();
}
public class LogicObject
{
public IAction AddAction {get { return new AddAction(); } }
}
我喜歡這個架構更好,但我不太設置就可以了。這似乎有點狡猾。我無法想象這種架構是獨一無二的。有什麼更好的方法來做這件事的例子?
顯然我應該已經閱讀Amitay多博的完全發佈之前。在第一個示例中查看java代碼,並跳過其餘部分。我的錯。 – thaBadDawg 2010-03-01 04:31:44