我一直在尋找很多地方實例化類,但我沒有找到我的問題一個很好的答案:很好的做法,從一個枚舉值
我有一個枚舉,例如:
public enum Window { CLASSIC, MODERN }
,我需要分開我的應用程序的行爲根據枚舉值,這樣的:
switch (myWindow.getType()) {
case CLASSIC: new ClassicWindow(...);
case MODERN: new ModernWindow(...);
}
我知道你在想什麼:簡單地說,在枚舉和BASTA,但是這不是唯一的類根據在我的枚舉!而且我無法編寫儘可能多的對象創建方法,因爲我擁有對象!
簡而言之,在這種情況下我能做些什麼?我的一個朋友告訴我要每次都去掉枚舉並使用派生類,但最後我必須爲所有測試創建與子類一樣多的實例!
總之,我卡住了。
您知道最佳實踐嗎?謝謝
[摘要工廠模式](http://en.wikipedia.org/wiki/Abstract_factory_pattern) – 2013-02-12 13:58:37