Даггеры: Семья Даггар. 19 детей и 2 скандала | Блогер Arkona на сайте SPLETNIK.RU 10 января 2016

Семья Даггар. 19 детей и 2 скандала | Блогер Arkona на сайте SPLETNIK.RU 10 января 2016

Как-то  раз наша дорогая редакция обрадовала нас постом об очень популярной в Америке семье Даггар. Однако, ему немного не хватало свежей информации о двух крупных скандалах, недавно обрушившихся на эту семью.  О чем-то упомянули вскользь, что-то забыли добавить. Восполним же эту несправедливость. 

Это семья баптистов-фундаменталистов у которых 19 детей (две пары близнецов) и куча сезонов популярнейшего шоу на TLC в багажнике. На шоу Даггары рассказывали о своей жизни, строгих правилах воспитания (никаких поцелуев до свадьбы, свиданий в одиночку, теликов, свободного доступа в интернет и личного пространства).

Наличие огромного количества детей связанно с выкидышем, случившимся много лет назад. Джим Боб и Мишель считают, что причиной его были оральные контрацептивы. После этого они перестали предохраняться. 

19 ребенок родился преждевременно, ее долго выхаживали врачи. Но это не испугало Мишель и Джим Боба и в 2011 году они объявили, что ждут 20 ребенка.  Но у Мишель случился выкидыш. 

Трое детей женаты - У старшего сына Джоша уже 4 ребенка, у Джилл один, Джесса недавно родила. Старшая дочь Джанна не замужем и по сути занимается воспитанием многочисленных братьев и сестер. 

И да, всех детей называют на J.

В школу дети не ходят и получают знания на дому, от мамы. В колледж пошел только один из братьев (вроде).

Незамужние мальчики и девочки живут в двух больших спальнях - мальчики отдельно, девочки отдельно.

О самом шоу - оно довольно миленькое, все дети выглядят счастливыми и дружными.  Но, как оказалось, жизнь этой семьи не столь идеальна, как на экране.

Даггары имеют активную ультраправую политическую позицию. Но об этом позже. 

2. Скандал первый. Сексуальные домогательства.

Оба скандала будут связанны со старшим братом и "золотым мальчиком" Джошем Даггаром. 

Мы встречаем его в первом сезоне собирающимся обручиться со своей девушкой Анной.  Джош очень серьезно рассуждает о том,что  до брака они будут только держаться за руки.  Так оно и происходит.

После свадьбы у них рождается четверо детей, а между двумя последними они переезжают в Вашингтон. Зачем? Дело в том, что Джош нашел работу в организации, занимающейся лоббированием "традиционных ценностей" Family Research Council . В двух словах - нет абортам и геям. 

Ведь именно это главное в христианстве, чтобы мы не забывали. 

И все бы было хорошо, и ходил бы Джош на митинги, где говорил что геи это вроде педофилов и блаблабала в том же духе, но тут бульварный журнал "InTouch" не раскопал один полицейский отчет.

Хроника событий (Вольный перевод отчета и последующей открывшейся информации)

В марте 2002 года Джош начал приставать к одной из сестер, когда она спала. Трогал интимные места, если говорить прямо. Это повторяется в июле. Даггары узнают, но ничего не делают (не сообщают властям или психологу). Джошу 14.

В марте 2003 Джош снова домогался (во сне и вне его) нескольких несовершеннолетних, включая сестер и одну из знакомых семьи. Джим Боб сообщает об этом старейшинам церкви. В полицию они не обращают. 

С 17 марта 2003 по 17 июля 2003 Джош вроде как проходит "терапию" в христианском лагере, где занимается тяжелым физическим трудом. Позже Мишель призналась, что его просто отправили к другу семьи. Где что-то строил (если я правильно поняла).  Даггары сказали полиции, что Джош "извинился" перед своими жертвами и что они "простили" его.

После возвращения Джоша отправляют к главному  полицейскому штата Джиму Хатченсу. Он лично знает Даггаров. Тот не возбудил уголовное дело, а просто  "жестко поговорил" с подростком.

Кстати,  Джим Хатченс вскоре был арестован. За хранение и распространение детской порнографии. 

С тех пор Джош живет в семье. 

6 сентября 2006 Даггары впервые появляются на телевидении.  

Дальше у меня возникли сложности с переводом. Кажется, кто-то написал письмо о сексуальных домогательствах в семье и полиция начала расследование.

Также в 2006 году Даггары решили принять участие в Шоу Опры. К ним в редакцию поступил анонимный звонок, рассказывающий о насилии в семье. Шоу было отменено, информация передана в полицию.

Так или иначе раследование началось. 

Джим Боб отказывается доставить Джоша в полицию, пытается нанять адвоката.  После они с Мишель приходят на допрос, факты о насилии подтверждаются, но ничего сделать нельзя. Прошло три года и Джош в безопасности. Часть материалов дела была уничтоженна по просьбе одной из несовершеннолетних жертв.

В мае 2007 года появляются первые интернет слухи о Джоше. 

В сентябре 2009 года выходит шоу "17 детей и это не предел..."

21 мая 2015 года журнал In Toch публикует отредактированные отчеты полиции.

Насчет возраста жертв.  Неприятные размышления, но было сложно не провести в голове расчеты. Джош приставал к пятерым девушкам, четверо из них его сестры. Известно что двое Джилл и Джесса (они дали интервью). Одной было 11, другой 10 в марте 2003. Лишь одна из сестер (Джанна)  старше их, ей было 12. Если предположить, что она была третьей жертвой, то получается, что одной из девушек, к которым приставал Джош, было 9 лет или меньше. 

Через некоторое время ТЛС отменяет шоу.

После скандала Даггары пытались сохранить лицо и остаться в глазах общественности хорошими родителями.

Они дали два заранее обговоренных интервью, в одном из которых оправдывали себя. В другом интервью двое из жертв говорили, что давно простили Джоша. (Был ли у них шанс не простить история умалчивает).

На фотках в инстагаме они все также улыбались и выглядели крепкой семьей.

Жена Джоша Анна сказала, что все знала еще до их помолвки. И у них все отлично.

Но это был не единственный секрет семьи.

 

3. Скандал номер два. Порно и измены и измены с порнозвездами.

Если прошлый скандал был и связан с ужастными событиями, но о них семья Даггоров прекрасно знала. Так или иначе они считали это прошлым и глубоко спрятали от общественности. 

Но вот следущий скандал стал для них сюрпризом. И очень неприятным.

Помните сайт Ашли Мэддисон? Это сайт, где мужчины искали себе пару для измены? (почему я пишу "мужчины", так потому, что женщин на сайте почти и не было. Но это уже другая история).

Так вот. Джош Даггар, этот преданый семьянин, который давно забыл ошибки молодости, исправился и завел идеальную христианскую семью, имел аж два аккаунта на сайте для любителей гульнуть налево.

Аккаунт Джоша гласил, что ему нужна "выносливая девушка, готовая к экспериментам". В списке допустимого и желательного:

“Conventional Sex,” Experimenting with Sex Toys,” One-Night Stands,” “Open to Experimentation,” “Gentleness,” “Good With Your Hands,” Sensual Massage,” “Extended Foreplay/Teasing,” “Bubble Bath for 2,” “Likes to Give Oral Sex,” “Likes to Receive Oral Sex,” “Someone I Can Teach,” “Someone Who Can Teach Me,” “Kissing,” “Cuddling & Hugging,” “Sharing Fantasies,” and “Sex Talk.”

Когда все это выплыло наружу Джош написал пост, где говорил, что он был самым большим лицемером на свете и несколько лет увлекался порнографией (которая и утянула его в лоно разврата).

И уехал лечиться в христианский рехаб.

Но это было не все. Джош не нашел пару на сайте, но не отчаялся. После обнародования скандала одна из известных (ну с натяжкой) порноактрис дала интервью о том, что с Джом у них два раза был секс. Он снял ее в стирптиз клубе, назвалcя поклонником таланта и был так груб, что она испытала психологический шок и хотела уйти из профессии. Правда потом он извинился и они переспали еще раз.

Кстати, сейчас она хочет отсудить у него пол миллиона за моральные травмы. 

И что дальше?

TLC решили, что такую дойную корову как Даггары не выгодно сбрасывать со счетов. И запустили спин-офф про жизнь старших сестер Джилл и Джессы. Если бы я была циничным боссом канала, я бы сделала тоже самое. Ведь они жертвы домогательств Джоша и общество проявляет к ним сочувствие (в отличии от их родителей). 

Шоу скучное, но в первых сериях снова затрагивался вопрос о скандалах. Жена Джоша Анна сказала, что останется с ним не смотря ни на что, так как дала клятву Богу. Сестры еще раз повторили, что простили Джоша за историю с домогательствами, но новый скандал поверг их в шок.

Понятно, что фактически это шоу - теле "19 детей и это не предел" просто со смещенным акцентом. Семья продолжит пропагандировать свой стиль жизни, ТЛС продолжить зарабатывать деньги, а куча детей из похожих ультраконсервативных семей будут страдать от домогательств без возможности получить помощь. 

Если у вас 19 детей

Это дружное семейство из американского штата Арканзас – одно из самых многодетных в США. У Джима Боба Даггера и его жены Мишель родилось уже 19 детей и двое внуков. Давайте подсмотрим, как им живется всем вместе.


19 имен на одну букву

По семейной традиции, Джим Боб и Мишель называют всех своих детей именами на букву “J”: Джошуа, Джана, Джон-Дэвид, Джил, Джесса, Джинджер, Джозеф, Джосиа, Джой-Анна, Джедия, Джеремия, Джейсон, Джеймс, Джастин, Джексон, Джоана, Дженнифер, Джордан и Джози.

Самой младшей дочке Джози сейчас 2 года, а самому старшему сыну Джошуа – 24. У Джошуа уже есть жена и двое детей. В среднем, каждые 16 дней в этой семье празднуют чей-нибудь день рождения.

Дом и одновременно школа

Семья Даггеров живет в просторном двухэтажном доме (его можно увидеть на самой верхней фотографии этой записи). В нем 9 ванных комнат и 7 душевых кабин. Есть отдельная большая спальня для мальчиков, спальня для девочек, а также большая гостиная, столовая, игровая комната, прачечная, спальня родителей и пара гостевых комнат.

В школу и детский сад дети не ходят, родители обучают их сами на дому. Мишель очень серьезно взялась за такое сложное дело, изучила много книг по домашнему обучению, а теперь сама пишет книги на эту тему и часто дает интервью.

Вот что она рассказала о том, как происходит учеба ее детей:

Подъем у всей семьи - в 8.00. После завтрака, умывания, утренней молитвы и небольшой уборки начинаются занятия для младших детей, а в роли учителей выступают старшие. Такая учеба полезна и ученикам, и “учителям” – ведь младшим интереснее заниматься со своими братьями и сестрами, а старшие заодно учатся объяснять и сами повторяют пройденные уроки (мы уже писали о том, что старший друг - лучший учитель).

После перерыва на обед мама занимается только со старшими детьми (с теми, кому по возрасту положено уже закончить младшие классы). Все они разного возраста, поэтому обучение происходит по такому принципу: как только речь заходит о более сложных вещах, те, кто помладше, уходят на перерыв, а потом снова присоединяются к учебе. На более простых темах перерыв устраивают уже старшие дети.

А еще каждый из детей учится играть на каком-нибудь музыкальном инструменте. Большинство - на скрипках.

Домашняя столовая

Даггеры стараются не тратить много денег на еду и покупают в основном самые простые продукты. В среднем за неделю семья съедает 60 куриных яиц выпивает около 30 литров молока.

Готовят чаще всего старшие дочки, а младшие внимательно наблюдают за ними и тоже учатся готовить.

В доме оборудована настоящая столовая, очень похожая на школьную.

У каждого своя кружка.

Во время еды семья всегда собирается вместе за большим обеденным столом. Его длина около 6 метров.

Как не перепутать носки

Стиральную машину Даггерам приходится загружать по 40 раз в неделю. А точнее, 4 стиральных машины (см фото) по 10 раз.

Отдельная задача – рассортировать потом всю постиранную одежду. Платья и рубашки – еще не такая проблема, самое сложное – носки! В конце концов было решено, что мальчики будут носить только черные носки, а девочки – только белые. И пусть перемешиваются сколько угодно :)

Фотографии взяты с сайта семьи Даггеров.

МНОГОДЕТНАЯ СЕМЬЯ: THE DUGGARS - Лето. — LiveJournal

     В народе говорят: семья без детей – что дерево без корней. А что может быть лучше, когда у дерева есть мощные,  здоровые корни.
Сегодня, в очередной раз предлагаю вашему вниманию небольшой репортаж о большой семье Даггеров - счастливой многодетной семье.

1. Одна из самых многодетных пар в США живет в Арканзасе. 45-летняя Мишель и 46-летний Боб Даггары воспитывают 19 детей (10 мальчиков и девять девочек) и у них уже есть 2 внуков.

2. Когда они поженились, они планировали иметь двух или трех детей. Принимали противозачаточные. Они думали: "Мы не хотим детей прямо сейчас. Мы не можем себе этого позволить. Мы не готовы".
Первых их ребенок родился через три года, после свадьбы. И они снова вернулись на контрацептивы. Но Мишель забеременела и произошел выкидыш. Родители винили себя в том, что по их вине погиб малыш.
После этого они раскаялись и решили доверить вопрос деторождения полностью Богу. Сразу после этого Мишель забеременела двойней. После этого Мишель рожала примерно каждые полтора года.

3. 19-й ребенок Джоси родилась преждевременно на 6-ом месяце. Мишель сделали экстренное кесарево сечение.

4. По семейной традиции, Джим Боб и Мишель называют всех своих детей именами на букву “J”: Джошуа, Джана, Джон-Дэвид, Джил, Джесса,  Джинджер, Джозеф, Джосиа, Джой-Анна, Джедия, Джеремия, Джейсон, Джеймс, Джастин, Джексон, Джоана, Дженнифер, Джордан и Джози.

Самой младшей дочке Джози сейчас 2 года, а самому старшему сыну Джошуа – 24. Джошуа  женат и у него двое детей.  В среднем, каждые 16 дней в этой семье празднуют чей-нибудь день рождения. 

5.

6. Семья Даггеров живет в просторном двухэтажном доме. В нем 9 ванных комнат и 7 душевых кабин. Есть отдельная большая спальня для мальчиков, спальня для девочек, а также большая гостиная, столовая, игровая комната, прачечная, спальня родителей и пара гостевых комнат. 

7.

8.

9.

10. Даггеры стараются не тратить много денег на еду и покупают в основном самые простые продукты. В среднем за неделю семья съедает 60 куриных яиц выпивает около 30 литров молока.
Готовят чаще всего старшие девочки, а младшие внимательно наблюдают за ними и тоже учатся готовить.

11. В доме оборудована настоящая столовая, чем-то похожая на школьную.

12. Для еды семья всегда собирается вместе за большим обеденным столом. Его длина около 6 метров.

13. Стиральную машину Даггерам приходится загружать по 40 раз в неделю. А точнее, 4 стиральных машины по 10 раз. Отдельная задача – рассортировать потом всю постиранную одежду. Платья и рубашки – еще не такая проблема, самое сложное – носки! В конце концов было решено, что мальчики будут носить только черные носки, а девочки – только белые. И пусть перемешиваются сколько угодно.

14. Даггеры - консервативные христиане. Их принцип: по телевизору смотреть только ПОЛЕЗНОЕ, умеренное  использование интернета, носить скромную одежду.

15.

16.

17.

18. Старший сын Джошуа с невестой

19. Вот такой велосипед

20. Многодетная семья не получает от государства никакой помощи. Глава семейства трудится на двух работах. Но ни он, ни его жена не производят впечатления уставших от жизни людей. Они говорят: каждый новый младенец не отнимает, а прибавляет им сил.

Сайт семьи Даггер: http://www.duggarfamily.com/

Кто из даггеров лучше? ТХ АВ или ПВ? Кто топ дагер на оли

Дагер в л2 пожалуй самый сложный для новичков класс Lineage. Помимо почти 10 активных скиллов, вам нужно постоянно определять и забегать за спину врага, так как шанс и сила удара и прохождение заклинания строго зависит от этого. Также вы обязаны вовремя использовать Trick и Switch для того, чтобы сбивать вражеские атаки, очень актуально против магов и лучников, чтобы подобраться поближе и всадить комбо скиллов.

Treasure Hunter / Тх л2

Первая профа в Lineage Rogue, вторая профа ТХ л2. Самый сбалансированный и максимально сложный в управлении, одновременно и самый простой для новичка. Сложный он тем, что имеет наибольшее количество умений среди дагеров л2 и чтобы выдать его максимум, вы должны вовремя их все активировать, также учитывая положение врага, примерное количество жизней, маны и много других факторов. Неплохой оли фармер, хорош в ПВП 1 на 1.

Плюсы:

  1. Много жизней и высокий CON позволяет выживать и не быть застаненным.
  2. Есть даш, великолепный скилл, благодаря которому ТХ в л2 может как догонять так и убегать на максимальной скорости.
  3. Есть Mirage который сбивает таргет у тех, кто в вас целится.
  4. Хороший критический шанс и удар одновременно.

Минусы

  1. Сложен в управлении, много кнопок.
  2. Отсутствует Fake Death, что решает на прокачке.
  3. ТХ не очень любят, так как он попсовый и раздражает всех.

Тату для ТХ лучше ставить

Для прокачки на мобах лучше ставить

+4Str – 4 CON

+4 DEX – 4 CON

+1 DEX -4CON

Данный сетам сильно урежет хп и шанс быть застаненым, но даст вам физ атаку, шанс крита и прохождения абилок.

Для олимпа или пвп ставим следующие тату на даггера

+4DEX-4STR

+1DEX – 1STR

Сила нам не важна, так как мы бьем только абилками, шанс которых полностью зависит от DEX. Урон от абилок не зависит от STR.

Третья профа тх даст вам кучу полезных умений, а самое важное это Mirage, который позволит выживать в пвп намного чаще.

Abyss Walker / Ав л2

Темный дагер л2, способный убить с одного Backstab так как имеет дикие пассивки на силу крита. Лучший выбор для про игроков по уровню фана.

Плюсы:

  1. Огромный урон.
  2. Наличие Fake Death спасает на прокачке.
  3. Есть хекс, который позволяет увеличить скорость прокачки на мобах х3-х5
  4. Может легко убить робу с 1 бэкстаба.
  5. Высокий шанс прохождения абилок.

Минусы

  1. Очень маленький кон.
  2. Мало здоровья и часто ловит станы.
  3. Низкая грузоподъемность, часто бегать за сосками приходится.
  4. Нет Dash и Mirage

Тату для ав лучше ставить

Если вы качаетесь и редко происходят пвп

+4STR – 4CON

+4DEX – 4CON

+4WIT – 4INT

Данные тату повысят дпс с простого удара и вы сможете ускорить темп прокачки на мобах

Для олимпиады и простых пвп на АВ ставят

+4DEX – 4STR

+4Con – 4STR

+4WIT – 4INT

Данные тату увеличат шанс прохождения абилок и увеличат скорость каста хекса и других маг. заклинаний.

Третья профа на АВ даст нам отличные бафы и парочку пассивок.

Plainswalker / Пв в л2

Светлый дагер, с самым низким физ. уроном но крайне подвижный и выдающий серию ударов быстрее других. Огромное количество ловкости позволяет творить чудеса, но из за отсутствия пассивки на крит. удар переходит в конец, ибо для даггера это первая значимая характеристика.

Плюсы:

  1. Максимально ловкости, абилки проходят чаще других.
  2. Есть Fake Death хорош на прокачке.
  3. Есть отличный хил.
  4. Селф бафы делают его самым сильным из даггеров на олимпе.

Минусы

  1. Нет пассивок на крит урон, разница в уроне против АВ может достигать в 2 раза.
  2. Нет Mirage, а также Trick который помогает сбрасывать цели и отменять каст.

Третья профа ПВ дает нам хорошие баффы и несколько крутых пассивок.

Тату для ПВ лучше ставить

Если вы качаетесь и редко происходят пвп

+4STR – 4CON

+4DEX – 4CON

+4WIT – 4INT

Данные тату повысят дпс с простого удара и вы сможете ускорить темп прокачки на мобах

Для олимпиады и простых пвп на ПВ ставят

+4DEX – 4STR

+4Con – 4STR

+4WIT – 4INT

Выводы:

Даггеры самый активный и требовательный класс к умениям, но они отвечают хорошей динамикой и интересными пвп.

Dagger 2 – это элементарно (Часть 2) / Хабр

Предыдущая часть

Содержание

  1. Внедрение методов и полей
  2. Отложенная инициализация в dagger
  3. Модули dagger. Когда dagger вас не понимает
  4. Аннотация Named. Несколько экземпляра одного типа

Внедрение методов и полей

В первой части описан метод внедрение зависимости на уровне конструктора. Кроме этого, dagger может внедрять зависимости для полей и методов. Но эти внедрения следует использовать при крайней необходимости.

Пример внедрения метода:

class Car @Inject constructor(private var engine: Engine){
    var key: Key? = null
        @Inject set
}

class Key @Inject constructor()
 

На примере выше внедряется зависимость метода set для поля key

Внедрение полей происходит в три этапа:

  1. Добавить метод внедрения в абстрактную фабрику
  2. Определить поля которые будут внедрены
  3. Использовать методы внедрения в имплементации dagger абстрактного класса для внедрения зависимостей

Наглядно будет проще понять это, по порядку

1. В наш абстрактный класс добавим метод внедрения для MainActivity

@Component
interface DaggerComponent {
    fun getCar(): Car
    fun getEngine(): Engine
    fun getFuel(): Fuel

    fun inject(act: MainActivity)
}

2. Определим поля которые должны быть внедрены в MainActivity. Внедряемые поля должны быть lateinit var и видны всем (public)
@Injected 
lateinit var car: Car

3. Вызываем добавленным нами метод inject() абстрактного класса для внедрения полей активити.

В конечном итоге наш класс MainActivity будет выглядеть след. образом:

class MainActivity : AppCompatActivity() {
    @Inject
    lateinit var car: Car

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        DaggerDaggerComponent.create().inject(this)
    }
}

Отложенная инициализация в dagger

Как известно при запуске приложения не всегда нужны экземпляры всех классов. Это ускоряет первый запуск и не только. В dagger есть 2 вида инициализации внедряемых объектов: Provider<> И Lazy<>

Provider – инициализация происходит при первом обращении к объекту и при каждом вызове будет возвращен новый экземпляр объекта
Lazy – инициализация происходит при первом обращении, далее возвращается ранее кешированный экземпляры

Для применения данных видов инициализации необходимо «обернуть» инициализируемые объекты в нужный вид.

Пример использования Provider:

class Engine @Inject constructor(private var fuel: Fuel){
    fun start(){
        if(fuel!=null){
            print("Started!")
        }else{
            print("No more fuel!")
        }
    }
}

class Car @Inject constructor(private var engine: Provider<Engine>){
    var key: Key? = null
        @Inject set

    fun startCar(){
        engine.get().start()
    }
}

class Key @Inject constructor()

При каждом вызове метода get() получаем новый экземпляр нужного объекта.

Пример использования Lazy:

class Fuel @Inject constructor() {
    val fuelType = if(BuildConfig.DEBUG){
        "benzine"
    }else{
        "diesel"
    }
}

class Engine @Inject constructor(private var fuel: Lazy<Fuel>){
    fun start(){
        if(fuel!=null){
            print("Started with ${fuel.get().fuelType}")
        }else{
            print("No more fuel!")
        }
    }
}

При каждом вызове метода get() получаем один и тот же экземпляр.

Внимание! При добавлении метода get() у вида Lazy в Android Studio метод может быть подчеркнут красным т.к. у Kotlin есть свой класс Lazy. По этому импортируем класс dagger

import dagger.Lazy

Модули dagger. Когда dagger вас не понимает

Бывают такие случаи когда dagger не понимает ваши намерения. На пример у нашего класса Car есть поле типа (интерфейс) Driver, который наследуется классом Ivanov

При попытке внедрить поле с типом интерфейс вы получите ошибку «cannot be provided without an @Provides-annotated methods».

Для решения этой проблемы dagger предлагает использовать Модули. Модули обеспечивают dagger дополнительной информацией которые он не может получить самостоятельно. В качестве модули можно использовать интерфейсы или объекты (object).

Для решения задачи выше создадим модуль:

@Module
interface DaggerModul {
    @Binds
    fun bindDriver(driver: Ivanov): Driver
}

class Ivanov @Inject constructor(): Driver

В методе bindDriver мы объясняем dagger как необходимо инициализировать интерфейс.

Так же в компоненте нужно перечислить все существующие модули dagger

@Component(modules = [DaggerModul::class])
interface DaggerComponent {
…
}

Предположим для нашего класса Engine используется поле сторонней библиотеки cylinder (интерфейс). Как описать такое поле для dagger если не понятно какой класс будет инициализирован в runtime?

До сих пор мы использовали аннотацию для того, чтоб объяснить dagger как нужно внедрять зависимости. Как быть если вы не знаете, как нужно создавать классы, из чужих библиотек, на пример?

Аннотация Provides описывает те случаи когда нужно явно описать экземпляр какого класса нужно инициализировать.

@Module
object DaggerModuleObject {
    @Provides
    @JvmStatic
    fun getBoschCylinder(): Cylinder = BoschCylinder()
}

Тем самым мы говорим dagger что при инициализации поля cylinder нужен экземпляр класса BoschCylinder.

Аннотация Named. Несколько экземпляра одно типа

Бывают случаи, когда нужно создать экземпляры одного класса с разными настройками. В нашем примере это разные цвета на кузове и дверей.

При попытке построить проект со след. Модулем получим ошибку «(наш класс) Color is bound multiple times»

@Provides
@JvmStatic
fun getColorRed():Color =  Color("red")

@Provides
@JvmStatic
fun getColorBlue():Color =  Color("blue")

Для решения таких случаев используется аннотация Named. В первую очередь в модуле создадим 3 новых метода для инициализации в dagger
@JvmStatic
@Provides
fun getColor(): Color = Color("")

@Provides
@Named("blueColor")
@JvmStatic
fun getColorBlue(): Color{
    return Color("blue")
}

@JvmStatic
@Named("redColor")
@Provides
fun getColorRed(): Color = Color("red")

Первый метод по умолчанию, без него dagger будет ругаться об отсутствии класса «cannot be provided without an Inject constructor or an Provides-annotated method»

Следующие два метода возвращающие экземпляры одного и того же класса. Осталось добавить внедрение этого класса в нужных местах и вызвать с аннотацией Named

class Door @Inject constructor() {
    @Named("blueColor")
    @Inject
    lateinit var color:Color
}

class Car @Inject constructor(private var engine: Provider<Engine>, private var door: Door,  var driver: Driver){
    var key: Key? = null
        @Inject set

    @Inject
    @Named("redColor")
    lateinit var color: Color

    fun startCar(){
        engine.get().start()
    }
}

class Key @Inject constructor()

Исходник
Google / Dagger: быстрый инжектор зависимостей для Android и Java.
перейти к содержанию Зарегистрироваться
  • Почему GitHub? Особенности →
    • Обзор кода
    • Управление проектами
    • Интеграции
    • Действия
    • Пакеты
    • Безопасность
    • Управление командой
    • Хостинг
    • Отзывы клиентов →
    • Безопасность →
  • команда
  • предприятие
  • Проводить исследования
    • Исследуйте GitHub →
    учиться и внести свой вклад
    • Темы
    • Коллекции
    • Тенденции
    • Learning Lab
    • Руководства с открытым исходным кодом
    Общайтесь с другими
.

Кинжалов

перейти к содержанию