Size: a a a

Android Architecture

2017 January 25

AZ

Alexandr Zherebtsov in Android Architecture
MVP, MVVM и т.д.
источник

AZ

Alexandr Zherebtsov in Android Architecture
не про Viper
источник

AZ

Alexandr Zherebtsov in Android Architecture
c VIPER понятно, там абстрактный роутер не заходит
источник

AD

Andrew Dementiev in Android Architecture
Alexandr Zherebtsov
я имею ввиду какой UI паттерн у вас сейчас
mvp под мобилы, mvvm и mvc десктоп
источник

AZ

Alexandr Zherebtsov in Android Architecture
Andrew Dementiev
mvp под мобилы, mvvm и mvc десктоп
вы говорили, что VIPER для ios заходит, а чем там MVP от Viper отличается? мне коллега ios-ик рассказывал, как здорово у них взаимодействие между модулями (у них модули это что то похожее на виджеты, как я понял, там есть слой с VIPER, есть слой для даты) сделано, что там крутого у них, что все хвалят так?
источник

AD

Andrew Dementiev in Android Architecture
Alexandr Zherebtsov
вы говорили, что VIPER для ios заходит, а чем там MVP от Viper отличается? мне коллега ios-ик рассказывал, как здорово у них взаимодействие между модулями (у них модули это что то похожее на виджеты, как я понял, там есть слой с VIPER, есть слой для даты) сделано, что там крутого у них, что все хвалят так?
без него на иос хана, вью контроллеры больше тыщщи строк, годобжекты и прочая срань
источник

AZ

Alexandr Zherebtsov in Android Architecture
VC на ios это что, наши активити и фрагменты? тут скорее clean architecture поможет, иначе это все может в презентер перекочевать в VIPER'е. но я пытаюсь понять другое, почему VIPER на iOS ок, на андроиде не ок, жизненный цикл мешает, какие то особенности SDK или что?
источник

AD

Andrew Dementiev in Android Architecture
я не говорю, что не ок, просто конкретно у меня не ложится на андройд, а то, что я накопал в интернете, втч на хабре - говно, ибо роутер не абстрактный, а залипуха какая-то. Архитектура - понятие абстрактное, если оно не реализуется на чистых абстракциях то, либо это говно, а не архитектура, либо ты не умеешь ее готовить, я пока склоняюсь ко второму, мой, несколько агрессивный, тон в её сторону - это я так в чатеках пешу.
источник

AD

Andrew Dementiev in Android Architecture
в иос нет активитей и фрагментов, там вьюшки с контроллерами, различные контейнеры и вообще серьёзно всё это дело делфи напоминает, в том числе и геморроем, как бы не было ведро говёно, но инструменты на него гораздо гибе и мощнее чем то, что есть на иос
источник

AD

Andrew Dementiev in Android Architecture
тот-же carthage даже на четверть до грейдла не дотягивает
источник

AZ

Alexandr Zherebtsov in Android Architecture
Andrew Dementiev
я не говорю, что не ок, просто конкретно у меня не ложится на андройд, а то, что я накопал в интернете, втч на хабре - говно, ибо роутер не абстрактный, а залипуха какая-то. Архитектура - понятие абстрактное, если оно не реализуется на чистых абстракциях то, либо это говно, а не архитектура, либо ты не умеешь ее готовить, я пока склоняюсь ко второму, мой, несколько агрессивный, тон в её сторону - это я так в чатеках пешу.
да не, агрессивный тон меня не смущает, в чате нет регламентаций на этот счет) просто вы используете некоторую терменологию, которую нужно объяснять, иначе можно неправильно вас понять, но хочется вникнуть, например, чистая абстракция, это что означает полное отсутсвие реализаций?
источник

EM

Eugene Matsyuk in Android Architecture
Тон приветствуеся нормальный, без агрессий)
И да, @dron247, я тоже вас не совсем понял, что вы хотите то в итоге?
Выскажите мысль четко и структурировано. Всем поможете)
источник

AD

Andrew Dementiev in Android Architecture
@mansonheart значит, что набор основных понятий, входящих в архитектуру, реализуется на основе интерфейсов и абстрактных классов. Затем уже от этого наследуется набор конкретных классов, которые имеют связи друг с другом только на уровне абстракций, тоесть висит конкретный презентер, реализует интерфейс ClientsListPresenter который появился путём расширения базового интерфейса Presenter и имеет у себя ссылку в на вью тоже в виде интерфейса и так они значит и живут
источник

AD

Andrew Dementiev in Android Architecture
Eugene Matsyuk
Тон приветствуеся нормальный, без агрессий)
И да, @dron247, я тоже вас не совсем понял, что вы хотите то в итоге?
Выскажите мысль четко и структурировано. Всем поможете)
я флейм по поводу архитектур развожу, как и просили выше, заодно в споре познаю истину о том как на андройде реализовать букву R из VIPER в виде абстрактного класса/класса/интерфейсов но не как блин везде показывают: вот класс, мы его типа роутер обзываем, пихаем в него какие-то методы, всё, ёпты, у нас вайпер, пойдем по смузи и повейпим)
источник

AD

Andrew Dementiev in Android Architecture
*класса/классов/интерфейсов
источник

DI

Dmitry Ikryanov in Android Architecture
@dron247 реализует интерфейс ClientsListPresenter - в чем польза такого интерфейса для презентера?
источник

AD

Andrew Dementiev in Android Architecture
для презентера нет пользы, для тестера, или чела, который будет писать другую реализацию, или подмену реализаций при компиле или в рантайме - ощутимая
источник

EM

Eugene Matsyuk in Android Architecture
@dron247 если я не путаю, вы и под iOS пишите?
источник

AD

Andrew Dementiev in Android Architecture
под иос только на начальных этапах обучения, даже не спрашивай про него)
источник

AZ

Alexandr Zherebtsov in Android Architecture
Andrew Dementiev
@mansonheart значит, что набор основных понятий, входящих в архитектуру, реализуется на основе интерфейсов и абстрактных классов. Затем уже от этого наследуется набор конкретных классов, которые имеют связи друг с другом только на уровне абстракций, тоесть висит конкретный презентер, реализует интерфейс ClientsListPresenter который появился путём расширения базового интерфейса Presenter и имеет у себя ссылку в на вью тоже в виде интерфейса и так они значит и живут
получается, что у вас для всего есть абстракции, кроме роутера и это очень мешает? вообще я не соглашусь с вашими выводами,  что архитектура плохая, если в слое представления нет интерфейса у презентера, но при этом слой представления связан со слоем бизнес логики через абстракции, и я спокойно могу поменять, слой представления или дата слой, при этом не затронов, слой с логикой, это скорее всего хорошая архитектура, но наверное у каждого свои требовании просто
источник