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

Привет всем! У меня возник вопрос по наймингу enum классов для

разных модулей приложения. К примеру, есть класс
enum class AppLanguage(val langCode: Int) {
EN(0),
RU(1),
UK(2)
}

Какими должны быть имена enum для presenation / domain / data?

Знаю, что для data class используют
- presentation - ClassNameModel
- domain - ClassNameEntity
- data - ClassNameDto
И Mapper'ами туда-сюда их перегоняют. Как быть с enum?

11 ответов

20 просмотров

Вот это тебя загнало, приятель! Я бы называл, как и остальные классы. P.S. нейминг конвеншены могут отличаться от команды к команде. Про то, чтобы именно data class называть как-то по-особенному, вообще слышу впервые.

А зачем суффиксы менять, если в маппере оно именем пакета разруливается, а дальше по слоям ходят только их собственные модели?

Aleksandr-Dovhaliuk Автор вопроса
⬤ vitaly
Вот это тебя загнало, приятель! Я бы называл, ка...

два варианта вижу: - хранить AppLanguage в domain, а остальные модули будут его использовать. - дать разные имена, чтобы в маппере разошлось все

Unat ☭
А зачем суффиксы менять, если в маппере оно именем...

Если нет деления на модули по слоям то сложно такое контролировать

Aleksandr-Dovhaliuk Автор вопроса
Unat ☭
А зачем суффиксы менять, если в маппере оно именем...

одинаковые имена разойдутся в маппере, если - имена будут разные - полное имя класса будет прописана во входном параметре или в возвращаемом - использовать as в импортах

Aleksandr-Dovhaliuk Автор вопроса
⬤ vitaly
Вот это тебя загнало, приятель! Я бы называл, ка...

пример по нэймингу: - https://www.youtube.com/watch?v=rTWCxow5IJQ - https://www.reddit.com/r/androiddev/comments/dwnqx9/comment/f7ksqqq/?utm_source=share&utm_medium=web2x&context=3 - https://enterprisecraftsmanship.com/posts/dto-vs-value-object-vs-poco/

можете поделиться своей задачей, которая требует для каждого слоя объявлять свой собственный енум для одной и той же сущности?

Aleksandr-Dovhaliuk Автор вопроса
Ircover
можете поделиться своей задачей, которая требует д...

Задача простая - возможность смены языка приложения с помощью кнопок на экране с последующим хранением в Shared Preferences. Сама задача ничего не требует))) Это я упоролся, и хочу сделать(набить руку) максимально по архитектуре.

Aleksandr-Dovhaliuk Автор вопроса
Ircover
можете поделиться своей задачей, которая требует д...

Была мысль не плодить сущности enum, а использовать ту, что в домене.

Aleksandr Dovhaliuk
Была мысль не плодить сущности enum, а использоват...

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

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

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

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...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
Карта сайта