@kotlin_lang

Страница 437 из 982
Quarx2k ?
30.11.2017
20:52:30
Вот оно что))

Quantum Harmonizer
30.11.2017
20:56:04
Ну вот и ладненько. Такое тут любят. Просто называть такое синглтонами не любят, ибо не феншуй ?
android.app.Application так же плох, только в андроиде от этого зна не уйти

Quarx2k ?
30.11.2017
20:57:16
А в спринге же тоже нечто похожее на андроидовский Application

Google
Andrew
30.11.2017
20:58:20
А вот это уже интересно. Чем плох android.app.Application, если это единственный "настоящий" синглтон, что гарантируется рантаймом? И чем он хуже, положим, процедурного main()?

Igor
30.11.2017
20:59:16
Мужики -> @kotlin_mobile

Quantum Harmonizer
30.11.2017
20:59:30
Quarx2k ?
30.11.2017
21:00:09
Блин куда не ткнись - все зло:D

Sergii
30.11.2017
21:00:10
Да нормальное решение с Application, позволяет достигнуть практического результа. Конечно, это не влажные мечты о воздушных замках чистых функций окруженных клин архитекча. вопрос скорее философских взглядов

Sergii
30.11.2017
21:01:16
Это наверное очень плохо, да

Quantum Harmonizer
30.11.2017
21:01:48
Это наверное очень плохо, да
Отвратительно, потому что когда нужно, чтобы одна активити могла вести себя разными способами, появляется customizable object.

Andrew
30.11.2017
21:02:12
Мужики -> @kotlin_mobile
Протестую, андроид только как пример платформы, наравне со спрингом :)

Sergii
30.11.2017
21:02:45
Как же так, если одна активити ведет себя разными способами не является ли это злым паттерном нарушающим принцип single resposibility??

Andrew
30.11.2017
21:03:32
Активити -- интерфейс общения с системой, там SRP не может быть, если система это не предусмотрела.

Quantum Harmonizer
30.11.2017
21:03:44
Google
Sergii
30.11.2017
21:04:16
А сейчас значит не может иметь зависимости или делегивать им решения не получается?

Вы уж определитесь где болит

Andrew
30.11.2017
21:05:51
Если б не ограничения системы, привычное общение между активити и аппликейшном надо выворачивать наизнанку. Как это, к примеру, в JavaFX делается обычно.

Quantum Harmonizer
30.11.2017
21:06:40
А сейчас значит не может иметь зависимости или делегивать им решения не получается?
Нет, не может иметь конструктор с аргументами == не может иметь нормальных зависимостей.

Andrew
30.11.2017
21:06:40
А со спрингом в @kotlin_jvm
Ключевое слово было "пример", в чате JVM тоже за оффтоп выгонят, ибо это вопрос архитектуры.

Quantum Harmonizer
30.11.2017
21:07:13
Вы уж определитесь где болит
Болит там, где стандартные средства языка отрывают и заставляют быдлокодить.

Andrew
30.11.2017
21:07:17
Именно, и даггеровский инжект в поля -- костыль именно по вышеуказанной причине.

Quantum Harmonizer
30.11.2017
21:07:37
Andrew
30.11.2017
21:08:47
Равно как и тыща MV* фреймворков, которые пытаются спрятать костыли за своими интерфейсами.

Всё, я прекращаю оффтопить.

Andrew
30.11.2017
21:13:21
Аргумент. Задевать адептов чистоты и функциональщины не планировалось, речь шла сугубо о ведре, MVU -- это другая опера ? MVP и прочее, собственно, тоже в более общем плане -- хорошо. Просто API, предоставляемое ведром -- зло. Хотя в ведре и единой точки входа в привычном понимании нет. Что накладывает свои ограничения. Впрочем ладно.

Andrew
30.11.2017
21:18:01
При учёте, что Application всё равно создаётся при старте Activity / Service, если его не было, зависимости таки можно было и не выворачивать. But oh well, сначала об этом никто не подумал, а потом уже было поздно.

Quarx2k ?
30.11.2017
21:22:01
За то я теперь узнал, что я называл синглетоны которые не синглетоны)))

Andrew
30.11.2017
21:25:58
Да ладно, даггер их тоже синглтонами называет. Я же в шутку это писал :)

Phil
30.11.2017
21:26:29
Хм, а чем DI плох для создания сущностей с гарантией единственности на уровне App? Spring или Guice - не важно. Все лучше, что встроенные в Котлин синглтоны, хотя бы протестировать можно и подменить реализацию )

Quarx2k ?
30.11.2017
21:31:31
Да тут скорее на любителя и от религии зависит))

Google
Andrew
30.11.2017
21:33:00
Дык хорош, о том и речь. Я просто не сразу понял, что имеет ввиду тщ Quarx :)

Andrew
30.11.2017
21:44:47
Люди, которые не вникают, что за аннотациями стоит, и без них бы творили страшное, а для остальных DI container -- просто инструмент, которым можно пользоваться, можно нет. В этом контексте не вижу смысла спорить, хорош он или плох. Тот же Spring Boot кроме DI уйму другой, гораздо более "страшной" магии делает.

Phil
30.11.2017
21:45:21
Ну, Boot меня до сих пор пугает )

А вот на простой DI на котлиновских делегатах я бы посмотрел )

Там даже аннотации не нужны )

Boris
30.11.2017
21:47:10
Как раз для грейдловой сборки такую себе замутил

Phil
30.11.2017
21:47:41
Не хочу писать велосипед )

Boris
30.11.2017
21:48:35
А там ничего кроме штатных котлиновских средств

Andrew
30.11.2017
21:48:53
В паблике или для чего-то закрытого?

Boris
30.11.2017
21:52:04
Для работы, но там все просто. Класс в котором поля, которые инстанцируются методами, в которые передаются поля которые уже были инициализированы и все лейзи, чтобы не создавать то, что не используется в данной конфигурации

Andrew
30.11.2017
21:54:19
а какую роль в этом Gradle играет?

Boris
30.11.2017
21:54:49
Приятно что сборка и инстанцирования в одном месте. На базе конфига

Andrew
30.11.2017
21:55:46
То есть сам граф описан в конфигах сборщика? Хм. Скрипт генерит код точки входа?

Boris
30.11.2017
21:55:57
а какую роль в этом Gradle играет?
Это для сущностей сборки контекст. Сборка такая здоровая, что в контексте два десятка бинов

Andrew
30.11.2017
21:56:17
А, понял наконец. Занятно :)

Quantum, представляешь себе андроид-проект с пачкой build.gradle.kts, которые тянут в buildscript dependencies Dagger 2 и сами им пронизаны? ? Звучит как страшилка на ночь)

Boris
30.11.2017
21:59:07
Но для андроида сложно себе представить сбоку которой самой нужен di

Andrew
30.11.2017
21:59:53
Человек DI контейнеры не любит, я и предлагаю ему пофантазировать ?

Google
Boris
30.11.2017
22:00:34
Человек DI контейнеры не любит, я и предлагаю ему пофантазировать ?
Я же ваше написал, что для di контейнер вообще не нужен

Хотя не буду скрывать, у меня была мысль на счёт даггера ?

Andrew
30.11.2017
22:01:51
Да, но я же конкретно о даггере написал.

Farrukh
30.11.2017
22:33:31
Всем привет

Admin
ERROR: S client not available

Farrukh
30.11.2017
22:33:56
У кого-нибудь есть книгы по Котлину?

balolam
30.11.2017
22:46:31
Вы уже смотрели на оф доки?

Sasha
01.12.2017
00:36:54


))

Жабра
01.12.2017
05:14:48
:D

Vladimir
01.12.2017
05:15:57
Не было же в 1.2 ни List, ни ArrayList. Только Vector, только хардкор

Evgeniy
01.12.2017
05:56:39
https://medium.com/contentsquare-engineering-blog/make-or-break-with-gradle-dac2e858868d

Vitalii
01.12.2017
07:04:57
Не было же в 1.2 ни List, ни ArrayList. Только Vector, только хардкор
https://docs.oracle.com/javase/8/docs/api/index.html?java/util/List.html https://docs.oracle.com/javase/8/docs/api/index.html?java/util/List.html Они в 1.2 и появились.

Roman
01.12.2017
07:08:40
По части синглтонов в Application есть еще такая идейка: накидав N штук туда, мы получаем что-то вроде Service Locator-а, мы даже можем юзать его как типичный SL (если сделать правильный дизайн). Но тут уже намечается другой холиварчик: SL vs DI. Мой выбор пока в сторону DI, SL юзаю только в ограниченных ситуациях.

Hleb
01.12.2017
07:11:49
на маленьких проектах на object AppContext только и сижу

единственное что, в самом коде юзаю не AppContext.service, а использую как дефолт аргумент в конструкторах

чтобы легко тестать было

исключение только main()

Vladimir
01.12.2017
09:01:41
https://docs.oracle.com/javase/8/docs/api/index.html?java/util/List.html https://docs.oracle.com/javase/8/docs/api/index.html?java/util/List.html Они в 1.2 и появились.
Действительно. На Java ME их нет, поэтому думал, что JCF только в 1.5 завезли

Google
Vitalii
01.12.2017
09:04:54
Действительно. На Java ME их нет, поэтому думал, что JCF только в 1.5 завезли
https://docs.oracle.com/javame/8.0/api/cldc/api/index.html Since: 1.2, CLDC1.8 Правильно понимаю, что только в Java ME 8 версии ArrayList появился?

Vladimir
01.12.2017
09:05:42
https://docs.oracle.com/javame/8.0/api/cldc/api/index.html Since: 1.2, CLDC1.8 Правильно понимаю, что только в Java ME 8 версии ArrayList появился?
CLDC 1.8 - это совсем не то, что крутится на мобилках По крайней мере, когда эта платформа была популярна

Aleksandr
01.12.2017
09:35:34
парни опять вопрос смеси старого проекта на джаве и новых файлов на котлине

джавовский класс с методом на вход хотят requestEach(final String... permissions)

внутр икотлина меня соотвесвенно Array<String>



как можно красиво это сделать?

Abbas
01.12.2017
09:37:25
*permissions

Aleksandr
01.12.2017
09:38:01
о крутяк

а как называется этот оператор *?

чтоб почитать

Abbas
01.12.2017
09:39:24
доку читать перед тем как работать с котлин))

https://kotlinlang.org/docs/reference/functions.html#variable-number-of-arguments-varargs

Страница 437 из 982