2009-07-16 83 views
2

考慮有一個下拉的web表單。根據下拉列表中的選擇,會顯示一些選項 - 並不是很多,例如每個選擇可選兩個或三個選項。當用戶單擊確定時,服務器將創建一個新的對象,類型由下拉確定,屬性來自適當的選項。對象層次對「案例」報表

因此,服務器必須做基礎上,下拉選擇三兩件事:顯示一些數據;檢索一些數據,並創建適當類型的對象。您會在這裏使用三個case語句,還是構建一個可以在下拉菜單中針對每個選擇進行適當分類的AObjectCreator類?

+0

我喜歡,什麼時候可以進行子類化或使用更高級的設計模式,而不僅僅是少數情況下的部分問題。 – 2009-07-16 19:27:35

+0

這取決於您是否期望將來添加更多類型。如果類型的數量很可能不會改變,並且足夠小,則可以將它切換到一個地方 - 使用工廠方法。 – Gishu 2009-07-17 04:23:06

回答

0

聽起來像是你需要一個Factory
看看現在幾乎同義的PizzaFactory示例

1

子類。

switch語句會導致混亂,速度快。

+0

有多快?如果在下拉菜單中有5個選項,您會遇到麻煩嗎? 3怎麼樣? 2? – 2009-07-16 15:15:13