我知道工廠方法是創建對象的合適設計模式,而客戶端無需知道對象需要具體哪個具體類。但是,假定工廠在創建對象之前知道標準將對象傳播到子類創建後,根據條件
但是,我的情況有點不同。我需要創建一個對象到超類或通常是一個抽象類。一旦對象被構建(並且僅當),可以應用邏輯來確定它可以屬於哪個類別,即子類。
想象一下,你是一家招聘大學人才的大公司。孩子們不知道他們想要做什麼,你會在訓練後給他們分配職位。所以起初有人是Employee
,然後6個月後,他們演變成Programmer
,QA
,Analyst
等取決於他們的傾向。所以我需要在創建之後將Employee
類傳播到Programmer
,QA
, Analyst
等。然後每個將繼續爲Employee
,但每個都將具有它們自己獨特的屬性。開始時,他們都只是Employee
,所以員工不能抽象。
我在想有一個子類創建方法返回子類,但這意味着有兩個實例,初始超類和最後我想要的子類,在這一點上,我不再需要超類。我知道我可以將父對象設置爲null,並在創建子類時對其進行GC處理,但我想知道是否有更優雅的方法來實現這一點,即設計模式。
喬恩,我認爲員工vs進入程序員一段時間進入員工生活是最好的,我可以舉例 – amphibient
在創建對象之前確定標準的處理正是我想要避免的。從本質上講,我想創造一個人類,並在25年後將相同的實例發展成一個Automechanic,而不必創建一個新的實例。 – amphibient
@foampile:不,不是,因爲您可以告訴我們*您面臨的真正問題*。如果你實際上建模一個員工,我會使用組合:每個員工都有一個角色屬性,可以是程序員等。 –