這裏是我的問題,使用PowerShell的存儲庫模式
我的問題不是真的與PowerShell,但我必須用它來實現持久性的方式。我經常遇到有超過4個命令來執行邏輯或應用持久性的情況。
例如:
在配置DNS區域,我得到正常的新建/獲取/設置/刪除-DnsZone 和暫停/取消暫停-DnsZone。我的隊友目前如何處理它是因爲他們在存儲庫上創建了一個額外的方法來處理額外的命令。
在我看來,行爲應該在對象上,並且當在回購上執行Create或Update時應該調用Suspend/Unsuspend-DnsZone。
您認爲如何?
編輯 按照要求,我會把一些代碼來證明什麼,我說什麼。
這是一個假的例子,它與我們的Powershell包裝器幾乎類似的實現。 這是對我的隊友做了倉庫裏的方法:
public void Suspend(DnsZone zone)
{
_powerShell.Execute("Suspend-Zone", new Dictionary<string, object>{{"Name", zone.Name}});
}
所以在某處你的邏輯,暫停你必須調用
var myZone = new DnsZone{ Name= "xyz"};
_zones.Suspend(myZone);
而是一個區域,我容易出現的是DnsZone應有財產或方法。所以邏輯不是在回購中,而是在對象本身。儘管回購必須將其轉換爲掛起區域呼叫。
var myZone = _zones.FindByName("nyname");
myZone.Suspend();
_zones.Save(myZone);
心連心
你可以添加一些僞代碼來解釋這個更好嗎?我沒跟着你。 – x0n 2011-02-10 02:52:38