我習慣於c#/ .net,所以我來自一個類型安全的背景。我正在使用Ruby。我想創建一個具有私有類的類(ClassA)(如果需要,我會解決受保護的)構造函數。原因是,我想創建一個Factory(FactoryModule :: create)來控制所有ClassA對象的實例化。我意識到這在Ruby中不是傻瓜式的(?),但至少代碼將會自我記錄,因爲基於代碼和ClassA必須通過FactoryModule :: create方法實例化的測試將會很明顯。在ModuleFactory :: create方法中,我嘗試將ClassA構造函數的可見性更改爲public,實例化對象,然後將可見性更改爲private,但是A)我收到錯誤,並且B)它是sl and而不是線程安全的。有什麼想法嗎?想使用工廠的私有構造函數實例化一個ruby類
更新答:
https://gist.github.com/gangelo/5551902
感謝兄弟,但我需要保護,最終,Klass.new。我確實使用它來調用幫助我的Klass.send(:new,params)。 – gangelo 2013-05-10 01:33:21
對不起 - 我誤解你的問題,指出你正在將'create'定義爲私有,並將其用於實例化。 – theTRON 2013-05-10 02:04:18
無後顧之憂;似乎最近在進行;也許我是「華而不實的屁股」。 – gangelo 2013-05-10 02:06:36