Реальный ответ здесь - выставлять интерфейсы и фабрики только за пределами вашего API. Это позволяет скрыть методы, которые могут потребоваться, чтобы быть не приватными из-за инфраструктуры.
Если вы не можете сделать это, попробуйте установить область действия методов по умолчанию (вместо protected
).
Кроме того, вы можете использовать аннотации в качестве внутреннего маркера. Для моего проекта мы создали аннотации для этой цели: PresentForDependancyInjection
и / или FrameworkEntryPoint
. Это аннотации только для декораций, но они помогают понять смысл.