Комментарии 5
Внедрение зависимости создает зависимость (данные) от объекта
Вот это поворот, я то думал как раз наоборот
Статья «ух ты, я прочитал про метатеги в SS, ничего не понял, поэтому надо написать про это на хабре»
Большие дядьки уже давно используют JSON
Мне кажется Вы в корне не поняли Dependency Injection. Для изменения настроек объекта нет необходимости использовать IoC. IoC нужен, когда Вы хотите писать правильно, используя абстракции, предоставляемые окружением, а не конкретные реализации.
… А если вы всё-таки прочитаете документацию, то найдёте там, что метатеги можно включать в SWC, и тогда при компиляции проекта, который использует эту SWC, они не удалятся. Именно так люди создают «свои собственные метатеги»
Заменяется не метатег, а в поле, помеченное этим метатегом, будет установлена ссылка на объект. В этом и смысл МЕТА-тегов, они предоставляют мета-информацию, но главный здесь — это поле.
Для этого используется функция flash.utils.describeType которая определена в классе (Class), она возвращает XML представляющий этот класс. В XML содержаться теги, с описанием метатега [Inject]. Именно их SwiftSuspenders ищет в представлении класса при парсинге XML, после этого может свободно сделать инъекцию (заменить метатег на нужное значение) согласно описанным правилам.
Большие дядьки уже давно используют JSON
Если Класс использует некоторый набор параметров настроек, которые могут меняться, и его работа зависит от этих параметров, то они должны устанавливаться не в коде Класса, а за его пределами
Мне кажется Вы в корне не поняли Dependency Injection. Для изменения настроек объекта нет необходимости использовать IoC. IoC нужен, когда Вы хотите писать правильно, используя абстракции, предоставляемые окружением, а не конкретные реализации.
Теперь Вы конечно можете пойти и создать свои собственные метатеги, но как оказалось, при компиляции компилятор их просто удалит
… А если вы всё-таки прочитаете документацию, то найдёте там, что метатеги можно включать в SWC, и тогда при компиляции проекта, который использует эту SWC, они не удалятся. Именно так люди создают «свои собственные метатеги»
Именно их SwiftSuspenders ищет в представлении класса при парсинге XML, после этого может свободно сделать инъекцию (заменить метатег на нужное значение) согласно описанным правилам.
Заменяется не метатег, а в поле, помеченное этим метатегом, будет установлена ссылка на объект. В этом и смысл МЕТА-тегов, они предоставляют мета-информацию, но главный здесь — это поле.
bsideup: Спасибо за комментарий, там где ошибся в переводе, обязательно внесу поправки.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Dependency Injection; Хорошо, но как?