1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Стартап Почему надо использовать DI вместо статической ссылки на Main класс ?

Тема в разделе "Разработка плагинов для новичков", создана пользователем hyndorik, 8 май 2018.

  1. Автор темы
    hyndorik

    hyndorik Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Ну так как вначале темы я написал, что это быстрый ответ и быстрая справка, то цели расписать все плюсы и минусы данного подхода я не ставил. Конечно осталась еще куча плюсов и минусов, я это уже писал в теме, но расписывать их надо довольно долго, тема получилась бы очень большой, так же большинство из них были бы довольно специфичными, подходящие только для отдельных проектов, а тут я расписал минусы и плюсы которые будут всегда и во всех проектах при таком подходе
     
  2. OsipXD

    OsipXD Старожил Пользователь

    Баллы:
    173
    Skype:
    osip.fatkullin
    Имя в Minecraft:
    OsipXD
    DI - это однозначно хорошо, но, имхо примеры из первого поста притянуты за уши. Ну то есть да, они поисывают типичные проблемы, который помогает побороть DI, но не создают впечатления, что оно нужно.
     
  3. Автор темы
    hyndorik

    hyndorik Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Ну тк, не буду же я вставлять километровые куски говнокода без DI, тем более я там написал представить ситуацию без DI, когда такого есть куча
     
  4. OsipXD

    OsipXD Старожил Пользователь

    Баллы:
    173
    Skype:
    osip.fatkullin
    Имя в Minecraft:
    OsipXD
    Я согласен, что нет смысла в километровых кусках кода, но отсутсвие ощущения потребности в DI - не главная проблема. Тут не представлено ни одного решения, кроме как инжект в конструктор. И если просто передавать всё через конструктор, то можно получить дебри ничуть не лучше кода без DI. Гораздо логичнее делегировать работу по созданию экземпляров классов какой-нибудь третьей стороне. И я не говорю о таких монстрах как Dagger2, но упоминание про сущестование DI-фреймфорков было бы очень кстати. Потому что без них люди будут страдать, пробрасывая экземпляр плагина сквозь всю структуру проекта.
     
    Последнее редактирование: 14 май 2018
  5. Автор темы
    hyndorik

    hyndorik Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Как ты себе вообще представляешь DI фреймворк? Мб ioc container? Тогда читай обсуждение с шевчиком выше
     
  6. OsipXD

    OsipXD Старожил Пользователь

    Баллы:
    173
    Skype:
    osip.fatkullin
    Имя в Minecraft:
    OsipXD
    Сам же писал про Guice (фу фу тонны рефлексии).
     
  7. Автор темы
    hyndorik

    hyndorik Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Ля ну ок, на русском просто странно как то звучит DI фреймфорк, по нормальному эт контейнером вообще именуется. Ну и вообщем то есть контейнеры и на asm. Ну и вообщем то уже писал я об контейнерах
     
  8. OsipXD

    OsipXD Старожил Пользователь

    Баллы:
    173
    Skype:
    osip.fatkullin
    Имя в Minecraft:
    OsipXD
    Да зачем asm. Проще сделать кодогенерацией как это делает Dagger2.
     

Поделиться этой страницей