Size: a a a

Android Architecture

2020 February 13

SB

Simon Belialov in Android Architecture
Unat
Правильно! Поэтому у меня в data лежали интерфейсы и репозитории, а сами фреймворковские кишки в presentation'е. Вспомнил. Но потом я забил болт на такие приседания и перестал делить это всё на разные модули.
а репозитории от чего зависят? От фреймворков которые в презентейшене?
источник

Kd

Konstantin dmz9 in Android Architecture
а я думал надо анально огораживаться от фреймворка во всех слоях кроме ui/data
источник

U

Unat in Android Architecture
Simon Belialov
а репозитории от чего зависят? От фреймворков которые в презентейшене?
Нет, там интерфейсы в качестве зависимостей в конструкторах, а имплементации интерфейсов уже в презентейшене
источник

Kd

Konstantin dmz9 in Android Architecture
Konstantin dmz9
а я думал надо анально огораживаться от фреймворка во всех слоях кроме ui/data
в частности пакет presentation не содержит ни одного импорта из com.android
источник

U

Unat in Android Architecture
тьфу, пока опишешь в терминах двадцать раз запутаешься. Потому и выкинул нафиг.
источник

KD

Konstantin Dovnar in Android Architecture
Konstantin dmz9
а я думал надо анально огораживаться от фреймворка во всех слоях кроме ui/data
Имхо, не стоит свеч, дюж запарно, а клин и так, сука, запарный.
источник

Kd

Konstantin dmz9 in Android Architecture
Konstantin Dovnar
Имхо, не стоит свеч, дюж запарно, а клин и так, сука, запарный.
с некоторым моментами типа "стринг-менеджер" да, пиздец как запарно
источник

Kd

Konstantin dmz9 in Android Architecture
каждый раз ловил себя на мысли "может нахуй, просто R.string.wtf заебенить в презентёр и дальше работать
источник

KD

Konstantin Dovnar in Android Architecture
Unat
тьфу, пока опишешь в терминах двадцать раз запутаешься. Потому и выкинул нафиг.
В трёх слоях и словах реализация/интерфейс?
Точно выбрал ту профессию?:)
Предвосхищая: всякие МВИ/ЧАИ ничуть не проще а этих темах:)
источник

AD

Aleksey D. in Android Architecture
Konstantin dmz9
каждый раз ловил себя на мысли "может нахуй, просто R.string.wtf заебенить в презентёр и дальше работать
так вроде так и надо делать, не?
источник

ES

Evgeny Semchenko in Android Architecture
источник

U

Unat in Android Architecture
Konstantin Dovnar
В трёх слоях и словах реализация/интерфейс?
Точно выбрал ту профессию?:)
Предвосхищая: всякие МВИ/ЧАИ ничуть не проще а этих темах:)
А при чём тут MVI/TEA? Да и профессию выбрал точно ту, должен же кто-то приложения писать, а не размышлять куда сервис положить чтобы "по канонам" было.
источник

KD

Konstantin Dovnar in Android Architecture
Unat
А при чём тут MVI/TEA? Да и профессию выбрал точно ту, должен же кто-то приложения писать, а не размышлять куда сервис положить чтобы "по канонам" было.
Толстовато, но сойдёт:)
источник

U

Unat in Android Architecture
/* Data */

interface LocalStore {
 fun getCurrentUser(): User
}

class UserRepository(private val store: LocalStore){
 fun foo(){
   kaboom(store.getCurrentUser())
 }
}

/* Presentation */
class AppDatabase(context: Context) : UglyAndroidSQLiT4(context), LocalStore {
 override fun getCurrentUser(): User = queryUserOrCrashToVoidOfOblivion()
}

val repository = UserRepository(AppDatabase(context))

Вот примерно так я делал
источник

U

Unat in Android Architecture
Но толку ноль целых хрен десятых - на тесты все-равно времени не было, даггер я не переварил и на компиляции тут было не выиграть, такшо теперь делю по package, а там уже не криминально иметь context в зависимостях.
источник

KD

Konstantin Dovnar in Android Architecture
Имхо, и так никаких проблем не было иметь андроид-зависимости а data 🤔
источник

U

Unat in Android Architecture
Konstantin Dovnar
Имхо, и так никаких проблем не было иметь андроид-зависимости а data 🤔
А зачем тогда data как отдельный модуль? :)
источник

KD

Konstantin Dovnar in Android Architecture
Unat
А зачем тогда data как отдельный модуль? :)
А как умаляются его плюсы от этого?
источник

SB

Simon Belialov in Android Architecture
Unat
А зачем тогда data как отдельный модуль? :)
она предоставляет данные и знает об андроиде
источник

SB

Simon Belialov in Android Architecture
презентейшн использует эти данные
источник