Size: a a a

2021 April 23

AB

Alex Bubnov in pro.elixir
зачем их менять?
источник

LL

Lama Lover in pro.elixir
Чтобы были разные вьюхи в завимости от параметров или эндпоинтов. Банальный пример: мобильная и немобильная версия в зависимости от юзерагента. Менее банальный: иметь для каждой странички JSON с параметрами, с которыми она рендерится
источник

LL

Lama Lover in pro.elixir
По-моему очевидно что каждый из них делает
источник

NM

Natalia Maximenko in pro.elixir
Иногда нужно. Может возникнуть вьюха с ошибками, которую удобно вызывать, где угодно.
источник

T

Tharin in pro.elixir
А почему тогда не менять шаблоны просто?
источник

T

Tharin in pro.elixir
Зачем эта лишняя прослойка View
источник

T

Tharin in pro.elixir
В которой одна функция
источник

LL

Lama Lover in pro.elixir
Так это и есть замена шаблонов
источник

LL

Lama Lover in pro.elixir
View это просто функция из мапы в какой-нибудь аутпут-формат
источник

AB

Alex Bubnov in pro.elixir
нет, View это подсистема связи рендеринга с content negotiation, обработкой ошибок и еще хз чем
источник

LL

Lama Lover in pro.elixir
Зачем нужны View тогда, когда можно рендерить прямо в контроллере? Во-первых, вьюхи иногда переиспользуются. Во-вторых, вьюхи делают апи стабильным, потому что они определяют формат аутпута. В-третьих, ....
источник

AB

Alex Bubnov in pro.elixir
в силу сложности предметки и сама пиздец какая сложная и запутанная
источник

AB

Alex Bubnov in pro.elixir
я, кстати, не разбирался, что там accidental, что incidental, не было времени разобраться, как оно работает
источник

LL

Lama Lover in pro.elixir
View тут, как и контроллер, пришли из MVC, который довольно неплохой паттерн для разработки интерфейсов. И вот в этом паттерне View это то, что видит пользователь. В случае с фениксом, View это то, что выдаётся наружу
источник

LL

Lama Lover in pro.elixir
Где там сложность-то ты так и не объяснил. Обычный тонкий view. Абсолютно MVC-шный по своей сути, но при этом сильно более простой чем в классическом MVC типа Qt
источник

AB

Alex Bubnov in pro.elixir
можно начать с того, что mvc сосет, что успешно доказывается современным фронтендом
источник

LL

Lama Lover in pro.elixir
А у тебя есть паттерны лучше? Напомню что в mvp и mvvm буковка v означает всё тот же view с абсолютно той же семантикой
источник

T

Tharin in pro.elixir
Так View - это просто модуль с функцией, а я под вьюхой всегда имел в виду шаблон .eex
источник

T

Tharin in pro.elixir
Почему нельзя просто рендерить другой шаблон и отказаться от View модуля? Как это сделано в рельсе, например.
источник

LL

Lama Lover in pro.elixir
Потому что не все приложения рендерят шаблоны. Некоторые приложения возвращают JSON-ы определённой схемы, например
источник