Внедрение нескольких сервисов с помощью одного токена — достаточно удобная механика в фреймворке Angular. Однако, можно столкнуться с неприятностью, что во всех местах, где нужно получить данный сервис, придётся как-то выбирать нужный инстанс из массива. Кто-то делает это напрямую, через метод массива find
Читать полностью »
Рубрика «di»
Продвинутая регистрация multi-сервисов в Angular
2024-11-22 в 11:53, admin, рубрики: angular, dependency injection, di, javascript, TypeScriptDagger Hilt (Для начинающих)
2024-10-07 в 7:15, admin, рубрики: adnroid studio, android, dagger, di, hilt, inject, kotlin, гайд для разработчиков, гайдлайн, гайдыЯ являюсь разработчиком мобильных приложений с опытом уже более 3х лет! Я всегда разрабатываю мобильные приложения один - это требует моя работа. Но сегодня я хочу поделиться с Вами тем, что такое Dagger Hilt!
Dagger Hilt - это необходимый каждому инструмент, который упрощает в разы разработку мобильных приложений. Служит для внедрения зависимостей. В первую очередь он необходим тем, у кого в проекте есть множество классов, которые требуют реализации. Хотите чтоб за вас это сделал кто-то другой? Dagger Hilt к вашим услугам.
Dependency Injection контейнеры .NET, допускающие полиморфное поведение
2024-01-02 в 9:00, admin, рубрики: backend, class, csharp, di, dotnet, implementation, inheritance, interface, polymorphism, ruvds_статьиИногда случается так, что при разработке приложения на платформе .NET с внедрением зависимостей и сервисами от контейнера требуется поддержка полиморфного поведения.
Когда, например, у интерфейса есть несколько реализаций, и их нужно грамотно расфасовать по правильным конструкторам так, чтобы всё из коробки работало.
Однако стандартный DI контейнер платформы долгое время не давал этой возможности.
В рамках этой статьи я решил напомнить альтернативы для решения этой задачи на тот случай, если вы ещё не успели переехать на .NET 8 или работаете в каком-нибудь Иннотехе, где в наличии только зеркало NuGet-пакетов, выпущенных до начала 2022 года.Читать полностью »
Яндекс выпускает Yatagan — опенсорс-фреймворк для внедрения зависимостей, позволяющий ускорить сборку
2022-12-14 в 6:59, admin, рубрики: dagger, dagger 2, dependency injection, di, github, kotlin, open source, Блог компании Яндекс, внедрение зависимостей, гитхаб, разработка мобильных приложений, Разработка под androidМеня зовут Фёдор Игнаткевич, я делаю приложение Яндекс и мобильный Яндекс Браузер для Android. Примерно год назад я предложил команде идею фреймворка для внедрения зависимостей, который более чем вдвое ускорил сборку обоих проектов и который мы сегодня выложили на Гитхаб — чтобы разработчики других приложений тоже могли улучшить скорость сборки. Я с нуля реализовал фреймворк, а затем мы вместе с командой интегрировали его в проекты и сейчас активно используем.
Как раз про свой опыт разработки я и хочу рассказать. Давайте попробуем разобраться, какие есть факторы замедления сборки, как Yatagan, совместимый с Dagger по API, с ними справляется и какие ещё задачи могут стоять перед DI-фреймворком — например, в части зависимостей под рантайм-условиями. Кстати, нативная поддержка этих зависимостей в Yatagan избавила нас от ручной обработки состояний A/B-экспериментов в DI.
Статья содержит много технических моментов, которые я открыл для себя по ходу исследований. В конце посмотрим, каким проектам Yatagan может быть полезен в качестве замены, а в каких польза от него будет невелика.
Читать полностью »
SOLID – это не правила, а гайдлайны
2022-05-02 в 9:26, admin, рубрики: C#, di, KISS, solid, YAGNI, Блог компании Издательский дом «Питер», интерфейсы, ооп, Программирование, Проектирование и рефакторинг, Совершенный код, чистый кодВ этой статье автор высказывает личное мнение, сформулированное на основе его собственного опыта и вкуса. Поэтому просьба не обижаться, если вы с ним не согласны. Конечно, оно может быть ошибочным – но это и стоит обсудить.
Что такое SOLID ?
Прокачайте свое взаимодействие с MobX
2022-02-12 в 10:22, admin, рубрики: architecture, di, javascript, mobx, mvvm, Observer, React, ReactJS, TypeScriptВ этой статье я опишу структурированный подход к использованию MobX, который может помочь упростить процесс разработки. Здесь не будет описываться код, только описание подхода к использованию. На код будут даваться ссылки. И я очень прошу вас посмотреть на примеры, которые я прикладываю. В них можно будет наглядно увидеть все плюсы описываемой архитектуры.
Также важно будет упомянуть, что для полного понимания описанного в статье, нужно быть знакомым с паттернами Observable/Observer, MVVM и DI.
OnPush — ваш новый Default
2021-10-04 в 9:55, admin, рубрики: angular, change detection, default, di, onpush, TypeScript, Блог компании Tinkoff, Разработка веб-сайтовВ Angular есть два режима change detection: Default и OnPush. В этой статье мы разберем, как можно спокойно использовать OnPush всегда без лишнего труда и почему стоит начать это делать.
Вспомним
Angular использует Zone.js для отслеживания изменений. Эта библиотека патчит множество нативных сущностей вроде addEventListener
, MutationObserver
, setTimeout
и других.
Когда такое событие происходит, выстреливает некий tickЧитать полностью »
Архитектурный паттерн Dependency Injection в React-приложении
2021-02-03 в 9:16, admin, рубрики: di, inversifyjs, ioc, javascript, React, ReactJS, solid, TypeScript, Блог компании Tinkoff, Проектирование и рефакторинг, Разработка веб-сайтовРасшифровка доклада Сергея Нестерова с конференции FrontendLive 2020.
Возможности Angular DI, о которых почти ничего не сказано в документации
2020-10-13 в 10:31, admin, рубрики: angular, dependency, di, javascript, tips, TypeScript, Блог компании Tinkoff, Разработка веб-сайтовAngular — это достаточно большой фреймворк. Задокументировать и написать примеры использования для каждого кейса просто невозможно. И механизм внедрения зависимостей не исключение. В этой статье я расскажу о возможностях Angular DI, о которых вы почти ничего не найдете в официальной документации.
Что вы знаете о функции inject?
Документация говорит нам следующее:
Внедри это полностью. DI-in-JS
2020-03-18 в 23:19, admin, рубрики: di, javascript, Разработка веб-сайтов
Всем привет! Сегодня я попробую поэкспериментировать с Dependency Injection на чистом JavaScript. Тех кто не в курсе, что это за дичь и как ее готовить, приглашаю ознакомиться. Ну а у тех кто в курсе будет повод написать важный и полезный комментарий. Итак, погнали…