Я пишу расширение для определенного программного обеспечения. Это расширение использует много перехватов, чтобы добавить функциональность к этому программному обеспечению. Программное обеспечение, о котором идет речь, использует глобальное состояние во всем мире и часто имеет зависящие от него зависимости, а также жесткую связь с помощью вызовов статических методов. В коде, вызываемом моими обработчиками-крючками, мне часто нужны компоненты из этого программного обеспечения, и, похоже, у них нет выбора, кроме как втянуть их. Эти крючки все совсем разные, проходя по разному, на разных этапах обработки приложения и с различными компонентами обработки в моем расширительном коде. Это в основном означает, что мое расширение имеет беспорядок входных точек, исключая создание объекта приложения в какой-то основной точке входа и выполнение инъекции зависимостей оттуда. Какие-либо рекомендации относительно того, какие подходы следует принимать в качестве СОЛИДНОГО кода в таком случае?Инъекция с расширением с расширением
1
A
ответ
0
Я рассмотрел бы использование Фасадный шаблон дизайна. Это поможет вам скрыть сложность вашей текущей системы. С шаблоном фасада вы можете иметь только одну точку связи между вашим расширением и системой. На фасаде вы просто откроете точки входа, необходимые для вашего расширения. Это также будет единственное место, которое будет иметь зависимости от ваших текущих компонентов системы.
Существует множество ресурсов в сети, так что просто для начала:
Смежные вопросы
- 1. Назначение файлов с расширением dot с расширением json-данных
- 2. b: dataTable с расширением
- 3. Изображение с расширением середины
- 4. Окно с расширением C#
- 5. Ajax с расширением хрома
- 6. Расширение Java с расширением
- 7. Breeze.js loadNavigationProperty с расширением
- 8. CSS с расширением PHP?
- 9. Проблема с расширением JPanel
- 10. Проблемы с расширением анимации
- 11. Проблема с расширением ListActivity
- 12. MapRoute с моим расширением
- 13. ClutterShaderEffect с расширением gnome
- 14. Проблемы с расширением Php
- 15. Папка с расширением
- 16. Swift3 CoreData с расширением
- 17. Трудности с расширением generate_attribute.rb
- 18. Ошибка с расширением Фрагмент
- 19. Проблема с расширением экрана
- 20. File.Exists с расширением .avi
- 21. Вставка с расширением PDO
- 22. Проблема с расширением Chrome
- 23. Проблема с расширением Layerslider
- 24. . Напишите сценарий с расширением.
- 25. Проблема с расширением класса
- 26. Проблема с расширением Chrome
- 27. PHP - с расширением/расширением link regex для Rewrite
- 28. Что называется расширением-узел-расширением в XML?
- 29. AS3 Список с расширением подсписок
- 30. обнаружение пользователей с расширением hola