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

Посмотрел доклад наконец-то. Доклад отличный. Спасибо. Есть вопросы по поводу взаимодействия

view и presenter.

Вью:
https://github.com/matzuk/TestableCodeMobius/blob/master/app/src/main/java/com/matsyuk/testablecodemobius/ui/profile/view/IProfileView.java

Почему вью имеет методы типа setName, setAccountNumber и т.д. ? Почему не лучше иметь метод accountAvailable(Account acc) ? С учетом того что модель Account это модель уровня вью. Ведь в случае изменения модели прийдется менять и интерфейс вью, и реализацию вью, и реализацию пресентера. Если же сделать как описано выше, то прийдется изменить лишь реализацию вью.

Вью:
https://github.com/matzuk/TestableCodeMobius/blob/master/app/src/main/java/com/matsyuk/testablecodemobius/ui/transfer/view/ITransferView.java

Первый вопрос такой же как и в предыдущем вью почему не иметь вместо методов showOrgNameError, showBIKError и т.д. метод showError(Error err)?
Второй вопрос по поводу метода setEnableSendTransferButton. Почему метод имеет в названии элемент андроид интерфейса? Почему не называется например setTransferringAvailable. Опять же при изменении дизайна возможно уже нужно будет отображать не кнопку а что-то еще или вообще просто добавить распознавание жеста.

3 ответов

3 просмотра

полностью согласен оборачивайте в модель и меняйте название =)

А тут я согласен по поводу имени setEnableSendTransferButton, но не согласен по поводу ошибки. У нас могут быть разные виды ошибок, вьюха зачастую должна отрабатывать их по-разному, соответственно ей надо дёргать разные методы и этим занимается презентер. С другой стороны, мы всегда можем сначала создать один метод, потом дополнить необходимыми.

Каждый слой имеет свои модели данных. Это плата за абстракцию

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

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

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
Хтось використовував Vapor на Windows?
Jaroshevskii
15
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Оба варианта в целом подходят, но скорее создание конфликтной ситуации (на пустой основе). В прошлый раз он сказал мне про ESP32, я забыл про этот микроконтроллер, ошибся, я п...
КТ315
4
Карта сайта