169 похожих чатов

Насколько адекватен следующий способ получения context? 1) в App в companion

object создаём переменную instance
2) при создании App, instance = this
3) теперь из абсолютно любого класса можно писать App.instance!! чтобы получить контекст
4) это норм или меня за это в дурку надо?

21 ответов

21 просмотр

Видел, делают так. Чтобы app context был везде доступен. Только зачем !! ?

Max- Автор вопроса
Leonid B.
Видел, делают так. Чтобы app context был везде дос...

Чтобы не передавать контекст в аргументы какого нибудь метода, когда можно просто App.instance!! прописать

Max
Чтобы не передавать контекст в аргументы какого ни...

Эт понятно. Почему не App.instance ? Почему App.instance!! ?

Max- Автор вопроса
Leonid B.
Эт понятно. Почему не App.instance ? Почему App.in...

Потому что: var instance: App? = null внутри companion object. Можно как то по другому, чтобы не писать "!!"?

Max
Потому что: var instance: App? = null внутри compa...

private var _instance: App? = null val instance get() = _instance!!

Max- Автор вопроса
Дмитрий
private var _instance: App? = null val instance ge...

Бля, с binding же так тоже делают, я тупанул че то

Max- Автор вопроса
Дмитрий
private var _instance: App? = null val instance ge...

Пойду переносить это в свои проекты),

Ну это хреновая практика. Представь допустим, что у тебя многомодульный проект, модули которые не знают о классе App, что делать будем?

Max- Автор вопроса
Nikolay Stepanchenko
Ну это хреновая практика. Представь допустим, что ...

Ну значит пусть узнают о классе App. Постоянно Передавать контекст очень подбешивает

Nikolay Stepanchenko
Ну это хреновая практика. Представь допустим, что ...

точно, это же потом невозможно будет распилить на модули)

Max
Бля, с binding же так тоже делают, я тупанул че то

Кстати, здесь можно применить даже lateinit, потому что он должен быть гарантировано инициализирован в App.

Третий год так делаю

Max- Автор вопроса
Сергей П.
Третий год так делаю

Ну хоть кто то успокоил)

Max
Ну хоть кто то успокоил)

да просто Сергей не юзает di как я понял, это не то чтобы современное популярное решение, в 90% случаях все таки придется di юзать

Max
Ну хоть кто то успокоил)

Если есть даггер/койн - то там апп контекст добывается его средствами ииинжектируется куда надо.

Max- Автор вопроса
Max
А hilt использовать нормально?

И его тоже, что нравится

Max- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта