我正在爲當前項目開發一個大型結賬應用程序。 根據用戶的管理員級別,結帳方式以及檢出的項目類型,此結帳有很多情況,因此通過一組上下文類從.aspx頁面抽取該進程。決定需要哪個子類的最佳方法
這些類從一個類的所有子類,CheckoutContext和要使用的類的類型通過枚舉來標記。
是否有類似的typedef我可以用它來選擇要使用的子類的東西,或者我應該只是有一個返回相關類,像這樣的方法:
CheckoutContext chooseSubclass(CheckoutCase c)
{
CheckoutContext output;
switch (c):
{
case CheckoutCase.SingleItemNew:
output = new SingleItemNew;
break;
case . . .
return output;
}
}
你是否需要這種動態?我的意思是,您多長時間添加一個新的子類,是否需要在不重新編譯應用程序的情況下進行配置?你有多個開發者創建這些子類嗎?如果您正在處理這些類型的多個需求,則可能需要更強大的解決方案。如果沒有,然後堅持開關。 – Josh 2009-06-10 15:32:08
整個過程非常複雜,無法逐一處理,我們每個頁面只需要15個方法來處理哪些字段可用。因此,我們正在將這個過程分成幾類。以後會有更多的可能性,所以我想要一個解決方案,只需要額外的努力就可以添加一個結帳過程。 – 2009-06-10 15:47:18