2012-12-11 2 views
1

Я пишу расширение для определенного программного обеспечения. Это расширение использует много перехватов, чтобы добавить функциональность к этому программному обеспечению. Программное обеспечение, о котором идет речь, использует глобальное состояние во всем мире и часто имеет зависящие от него зависимости, а также жесткую связь с помощью вызовов статических методов. В коде, вызываемом моими обработчиками-крючками, мне часто нужны компоненты из этого программного обеспечения, и, похоже, у них нет выбора, кроме как втянуть их. Эти крючки все совсем разные, проходя по разному, на разных этапах обработки приложения и с различными компонентами обработки в моем расширительном коде. Это в основном означает, что мое расширение имеет беспорядок входных точек, исключая создание объекта приложения в какой-то основной точке входа и выполнение инъекции зависимостей оттуда. Какие-либо рекомендации относительно того, какие подходы следует принимать в качестве СОЛИДНОГО кода в таком случае?Инъекция с расширением с расширением

ответ

0

Я рассмотрел бы использование Фасадный шаблон дизайна. Это поможет вам скрыть сложность вашей текущей системы. С шаблоном фасада вы можете иметь только одну точку связи между вашим расширением и системой. На фасаде вы просто откроете точки входа, необходимые для вашего расширения. Это также будет единственное место, которое будет иметь зависимости от ваших текущих компонентов системы.

Существует множество ресурсов в сети, так что просто для начала:

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