Как я удостоверяюсь, что данная зависимость включена в мое приложение с Рамкой Spring?

Это будет сложным вопросом для описания, но здесь идет.

Мы используем Рамку Spring Delphi. (http://code.google.com/p/delphi-spring-framework/)

Скажем, у меня есть UnitA, который объявляет InterfaceA, который реализован ClassA.

Точно так же у меня есть UnitB, который объявляет InterfaceB, который реализован ClassB.

И зарегистрировал их интерфейс и их класс с Контейнером Spring в их соответствующих разделах инициализации.

InterfaceA имеет зависимость от InterfaceB, но потому что мы используем Spring, UnitA не имеет UnitB в использование пункт. Другими словами, мы сделали наше задание - мы отделили UnitA и UnitB, но мы все еще можем сделать, чтобы InterfaceA зависел от InterfaceB.

Однако данный вышеупомянутый сценарий, мы должны удостовериться, что и UnitA и UnitB включены в проект так, чтобы зависимости могли быть разрешены.

Предполагают, теперь, что мы запускаем новый проект. Тот новый проект использует UnitA, но разработчик не понимает, что, если нужно использовать UnitA, также нужно включать UnitB в проект. Не будет никакой ошибки компилятора, потому что зависимость разрешена во время выполнения, не время компиляции.

И здесь находится вопрос: Что правильный путь состоит в том, чтобы гарантировать, что эта зависимость от UnitB известна, прежде чем приложение развертывается?

Мы можем предвидеть ситуацию в сложном приложении, где, несмотря на полное тестирование, данный путь выполнения кода не выполняется возможно в течение долгого времени, и эта недостающая зависимость не открыта перед развертыванием.

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

Добавленный: это проблема в Java и других языках?

7
задан Jens Mühlenhoff 18 May 2015 в 17:24
поделиться