Введение в Чистую Архитектуру. Артур Бадретдинов
Вставка
- Опубліковано 5 жов 2024
- Рефакторинг God Activity на слои:
• Чистая архитектура. Ма...
Ссылка на репозиторий: github.com/Gak... -
На файл презентации: goo.gl/B558Dn
Лайвкодинг приложения - переход от "God Activity" к Чистой Архитектуре на примере небольшого приложения: • Чистая архитектура. Ма...
Пару раз проверял, не включена ли у меня скорость х1.25)
Докладчик отлично подготовился 👍
Скорость речи не зависит от подготовки докладчика. Скорее она зависит от того, насколько быстро мыслит докладчик.
Большое спасибо! Поклон! Все предметно и по теме! Зашло короче!
Отлично, я рад! :)
Если что, тут можно найти ещё пачку поих докладов, там есть стоящие :) github.com/Gaket/presentations
@@arturbadretdinov Большое спасибо!
@@arturbadretdinov как с тобой можно связаться?
симпатичный мальчик)
Хорошее объяснение, спасибо
Рад стараться! :)
Круто, спасибо!
Честно говоря, название доклада создаёт ощущение, что будет именно введение в архитектуру. В моём представлении чистая Архитектура это Роберт Мартин. А тут сразу в глубину специфики Андройда с тонной специфичного сленга. Ожидал чего-то более общего..
Но всё равно лайк, хороший доклад
@@samuraibudoev5857 Спасибо! Да, доклад читался на конференции по Андроиду, и я даже не подумал это как-то в название вынести... Но в целом, подход в Андроиде взят от того самого подхода Робина Мартина, тут я не обманул 😅
Спасибо большое
я понимаю что в 40 мин все не уместишь, но вроде название - введение в чистую архитектуру, а следовало бы назвать "как мы поняли чистую архитектуру в нашем приложении". Т.е. мне, как веб разработчику на php не понятно ничего. Есть слои, зачем они? Для чего, какие проблемы решают? В принципе понятие слоя не дается. Как по мне - основная проблема в том, что докладчик оперирует терминами, но не дает их определение, из за этого путаница
+++, php-шнику не понятно ничего...
@@alicenNorwood php это тот инструмент, которым я решаю текущие задачи в данный момент, до этого был опыт разработки и на c# и на c++. Если вы опытный разработчик, то понимаете, что язык - всего лишь один из инструментов. Но по вашему комментарию видно что, неуместный сарказм - все, на что вы способны
@@ДмитрийПоздняков-щ6ь это не сарказм
Речь идёт о всех классических C-подобных ООП языках, PHP и Java в одной корзине. Непонятно, чем PHP выделяется в этом плане? Странный вопрос "Есть слои, зачем они?", да и по-моему во всех фреймворках/движках сейчас около-MVC архитектура, что и является одним из примеров расслоённой архитектуры (Model, View, Controller), так что термины вполне себе general, касающиеся всех.
@@ДмитрийПоздняков-щ6ь, спасибо за фидбек. Вы правы, доклад ориентирован на андроид разработчиков, а в нашей области это уже достаточно распространённый подход. В то же время, всё начало доклада посвящено описанию решаемых проблем. Спагетти код, god activity, тестируемость... Или ваш вопрос был в контексте задач каждого слоя? Вроде, и об этом рассказывал...
У меня есть видео, где после аналогичной теоретической вводной я разбиваю приложение на слои. Посмотрите вторую половину видео, может, она ответит на ваши вопросы: ua-cam.com/video/8ATEB0ZzelQ/v-deo.html
Успехов!
33:14 сам говорит что 100 методов в репозитории ок, а сам показывал слайд где это не ок 3:13
зачем столько специфических терминов для объяснения интерфейсно уровневого взаимодействия..такое ощущение что прогеры как заключенные создают отдельную языковую культуру..чтобы непосвященный ничего не понял в их воровских делах
Часто возникает вопрос о том, нужны ли различные модели одной сущности для каждого слоя?
Этот вопрос обсуждается в блоке QA: 35:39
Вдобавок, цитата ответа Дядюшки Боба:
"Other folks have worried that the net result of my advice would be lots of duplicated code, and lots of rote copying of data from one data structure to another across the layers of the system. Certainly I don’t want this either; and nothing I have suggested would inevitably lead to repetition of data structures and an inordinate of field copying", источник: 8thlight.com/blog/uncle-bob/2011/11/22/Clean-Architecture.html
Доброго времени суток. Не могли бы вы скинуть ссылку на чат?
Вроде как на схеме дяди Боба интерактор зависит от интерфейса презентера, а не наоборот как у вас.
Спасибо за комментарий. Если вы имеете в виду оригинальную концентрическую схему из его статьи (blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html), то в ней слой контроллеров / презентеров (зелёный) зависит от слоя Use Cases (красного). В нашем случае интеракторы играют роль юзкейсов, и поэтому, именно презентер зависит от интерактора.
Одна из основных идей Чистой архитектуры заключается в том, что изменения в слое отображения не должны влиять на слой бизнес логики. Для этого, бизнес логика не должна зависеть от слоя презентации, включая презентеры.
@@arturbadretdinov По правилу зависимотей да не должен интерактор зависеть от конкретного презентера, но может зависеть от интерфейса который будет реализован уже конкретным презентером. Если посмотреть на картинку где показан Flow of control там четко указано что UseCase содержит(обычная стрелочка) UseCase Output Port некий интерфейс который будет впоследствии реализован презентером(белая стрелочка). Получается если делать с точки зрения Дяди Боба то именно интерактор должен управлять презентором, а не наоборот. Презентер вроде как вообще не должен зависеть от интерактора а работать с неким Response объектом данные которого кладутся интекртором
where can i find the english version of the talk?
Hi! Unfortunately, I have only a Russian version :(
"как работает женский мозг"? нуу, так себе начало. а как работает мужской мозг почему нет видео?
В том видео рассказывается и о мужском мозге, и о женском. Отсылка к женскому мозгу здесь в том смысле, что идеи и мысли зачастую цепляются одна за другую.
Ссылку выше прикладывали:
ua-cam.com/video/0BxckAMaTDc/v-deo.html
Некоторое время назад я записал видео о том, как можно приложение с God Activity разбить по слоям, с использованием MVP в качестве слоя презентации. Если вам интересна эта тема - можете взглянуть :)
ua-cam.com/video/8ATEB0ZzelQ/v-deo.html
Чем больше кругов тем больше жопень которую прийдеться решать
Да, поэтому мы остановились на трёх :) В докладе рассказываются 4, но внутренние 2 зачастую объединяют.
ua-cam.com/video/0BxckAMaTDc/v-deo.html
ссылка на видео про женский мозг