Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 415 сообщений
Cообщения с меткой

dependency injection - Самое интересное в блогах

Следующие 30  »
rss_habr

Яндекс выпускает Yatagan — опенсорс-фреймворк для внедрения зависимостей, позволяющий ускорить сборку

Среда, 14 Декабря 2022 г. 09:59 (ссылка)





Меня зовут Фёдор Игнаткевич, я делаю приложение Яндекс и мобильный Яндекс Браузер для Android. Примерно год назад я предложил команде идею фреймворка для внедрения зависимостей, который более чем вдвое ускорил сборку обоих проектов и который мы сегодня выложили на Гитхаб — чтобы разработчики других приложений тоже могли улучшить скорость сборки. Я с нуля реализовал фреймворк, а затем мы вместе с командой интегрировали его в проекты и сейчас активно используем.



Как раз про свой опыт разработки я и хочу рассказать. Давайте попробуем разобраться, какие есть факторы замедления сборки, как Yatagan, совместимый с Dagger по API, с ними справляется и какие ещё задачи могут стоять перед DI-фреймворком — например, в части зависимостей под рантайм-условиями. Кстати, нативная поддержка этих зависимостей в Yatagan избавила нас от ручной обработки состояний A/B-экспериментов в DI.



Статья содержит много технических моментов, которые я открыл для себя по ходу исследований. В конце посмотрим, каким проектам Yatagan может быть полезен в качестве замены, а в каких польза от него будет невелика.
Читать дальше →

https://habr.com/ru/post/704838/?utm_source=habrahabr&utm_medium=rss&utm_campaign=704838

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

О Dependency Injection в Magento 2

Среда, 02 Ноября 2022 г. 18:51 (ссылка)

В этой статье поговорим об инъекции (внедрении) зависимостей в Magento 2. Как ее использовать и для чего она нужна.

Итак, внедрение зависимостей — это паттерн проектирования предназначенный для того, чтобы предоставлять какому-либо объекту зависимости, необходимые для его работы. Это более совершенная альтернатива наследованию, позволяющая уменьшить связанность классов и компонентов между собой.

В основе этого подхода лежит принцип Dependency Inversion (инверсия зависимостей) из принципов SOLID, который предполагает использование абстракций вместо конкретных классов, где детали реализации должны зависеть от абстракций, а абстракции не должны зависеть от деталей реализации.

Читать далее

https://habr.com/ru/post/697140/?utm_source=habrahabr&utm_medium=rss&utm_campaign=697140

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Пишем типизированный DI-контейнер для iOS приложения. Часть 1

Понедельник, 26 Сентября 2022 г. 14:36 (ссылка)

https://habr.com/ru/post/688664/?utm_source=habrahabr&utm_medium=rss&utm_campaign=688664

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Создание модулей с учётом новой структуры Joomla 4

Четверг, 15 Сентября 2022 г. 20:35 (ссылка)

Joomla 4 "под капотом" претерпела немало изменений относительно предыдущих версий. Её кодовую базу сообщество разработчиков регулярно подтягивают до современных реалий, вводя актуальные технологии в ядро CMS. Так, например, если раньше загрузка классов была вариациями на тему include, то в Joomla 4 появился лоадер, приведённый к PSR-4. Ядро CMS переводится на концепцию сервис-провайдеров, внедрены DI-контейнеры. Эти изменения влекут за собой изменения в структуре компонентов, модулей и плагинов.

В данной статье пойдёт речь о том, как создать модуль для Joomla 4 с новой структурой файлов и классов. Как создать новый (или апгрейдить старый) модуль так, чтобы он ещё долго прослужил на Joomla 4 и Joomla 5? Читаем далее...

Читать далее

https://habr.com/ru/post/684534/?utm_source=habrahabr&utm_medium=rss&utm_campaign=684534

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Паттерн внедрение зависимостей в .NET nanoFramework для микроконтроллеров

Четверг, 15 Сентября 2022 г. 11:58 (ссылка)

.NET nanoFramework Weatherstation



Сегодня сломаем привычный мир инженеров и разработчиков встраиваемых систем на микроконтроллерах. В .NET существует замечательный паттерн программирования, как внедрение зависимостей (Dependency injection, DI). Суть паттерна заключается в предоставление механизма, который позволяет сделать взаимодействующие в приложение объекты слабосвязанными. Эти объекты будут связаны между собой через абстракции, например, через интерфейсы, что делает всю систему более гибкой, более адаптируемой и расширяемой. Но когда ведется разработка для микроконтроллеров, все зависимости обычно жестко завязаны на используемых устройствах, и замена датчика иногда приводит к существенному переписыванию программного кода. Напишем приложение на .NET nanoFramework для микроконтроллера ESP32, используя паттерн DI с возможностью легкой замены датчиков и LCD экрана.
Читать дальше →

https://habr.com/ru/post/688052/?utm_source=habrahabr&utm_medium=rss&utm_campaign=688052

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Cлоёная архитектура или ООП в современном React / Mobx приложении

Вторник, 07 Июня 2022 г. 17:05 (ссылка)

https://habr.com/ru/post/669696/?utm_source=habrahabr&utm_medium=rss&utm_campaign=669696

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Dependency Injection и Full state сервер

Вторник, 31 Мая 2022 г. 11:10 (ссылка)



Сразу же сообщу, что в данной публикации не сравниваются Fullstate и Stateless парадигмы построения серверов. Также отсутствует какая-либо агитация в пользу Fullstate. Мы исходим из ситуации, в которой мы приняли решение, что для конкретного проекта сервер ASP.NET должен между запросами не только хранить какие-то статические данные, но и возможно выполнять какую-то полезную работу.

При этом мы, разумеется, хотим использовать всю мощь DI-контейнера .NET!

Читать дальше →

https://habr.com/ru/post/666924/?utm_source=habrahabr&utm_medium=rss&utm_campaign=666924

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

jugger – внедрение зависимостей как в Android

Понедельник, 09 Мая 2022 г. 15:15 (ссылка)

Привет, меня зовут Иван и я Android разработчик. Но еще я занимаюсь Flutter разработкой. Я как разработчик, который начинает изучать новую технологию или фреймворк, начинаю сначала искать аналоги библиотек из своей основной сферы. Надеюсь я такой не один. Например Retrofit для http запросов, Dagger для di и т. д. В 2018 году, когда только познакомился с Flutter, был пакет который повторял функционал Dagger-а — это inject.dart. Но на самом деле его нельзя назвать полноценным пакетом, так как он был выложен командой гугла в открытый доступ для демонстрации того, что на dart можно написать инструмент который использует кодогенерацию. Сейчас inject.dart заброшен и не поддерживается. На GitHub у него 855 звезд, можно сказать что сообществу Flutter-а интересен такой пакет как Dagger из Java. Поэтому в 2019 году я решил написать собственный пакет, который был вдохновлен Dagger 2 и inject.dart. Целью было удовлетворить свои потребности в разработке, хотелось иметь такую же библиотеку для Di как и в Java(Android). Второстепенная цель это изучение кодогенерации в Dart.

Читать далее

https://habr.com/ru/post/664926/?utm_source=habrahabr&utm_medium=rss&utm_campaign=664926

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<dependency injection - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda