2016-09-06 4 views
0

Я рефакторинг фрагмента кода, и мне нужно сделать метод (позвоним ему myMethod) в одном классе (назовем его TestImpl) от private до public. Поэтому я пытаюсь добавить этот метод к своему интерфейсу (ITest).Интерфейс, ссылающийся на внутренний класс его реализации

Однако проблема в том, что параметр метода ссылается на внутренний класс TestImpl. то есть что-то вроде:

myMethod (TestImpl.NewType var1, ...) 

Это кажется немного странным для меня, как ссылки интерфейса к своей собственной реализации. Какое лучшее решение здесь? Или это действительно проблема?

+0

Нужно ли 'NewType' обращаться к закрытым членам' TestImpl'? Будет ли 'NewType' использоваться только' TestImpl'? – acm

ответ

2

Как я понимаю, это статический класс, тогда это не должно быть проблемой. Тем не менее, я считаю, что лучше двигаться, что NewType из TestImpl или даже создать новый интерфейс обобщать этот NewType

0

Это нарушает принципы DI, интерфейс не должен иметь даже компилировать зависимости его реализации. NewType должен быть извлечен в качестве интерфейса или класса снаружи.

Смежные вопросы