2016-09-06 57 views
0

我正在重構一段代碼,我必須在一個類(我們稱之爲TestImpl)中從privatepublic作出一個方法(讓我們稱之爲myMethod)。因此,我嘗試將此方法添加到其接口(ITest)。接口引用其實現的內部類

但是,問題是該方法的參數引用了內部類TestImpl。即類似的:

myMethod (TestImpl.NewType var1, ...) 

這對我來說似乎有點奇怪,因爲接口引用了它自己的實現。這裏最好的解決方案是什麼?或者,它確實是一個問題?

+0

'NewType'是否需要訪問'TestImpl'的私有成員? 'NewType'只能被'TestImpl'使用嗎? – acm

回答

2

據我所知它是靜態類,那麼它不應該是一個問題。但是,我認爲這是更好的以移動NewTypeTestImpl甚至創造新的接口來概括這個NewType

0

它違反了DI原則,接口不應該有什幺編譯依賴它的實現。應該將NewType作爲接口或類提取到外部。

相關問題