Что почитать по UI?
От: cppguard  
Дата: 10.03.21 04:38
Оценка:
Переодически приходят заказы на разработку настольных приложений, и каждый раз я смотрю на разработку UI как баран на новые ворота. В основном из-за непонимания как эффективно разделять модель и представление. Какие хорошие книги или серии статей есть на эту тему?
Re: Что почитать по UI?
От: LaptevVV Россия  
Дата: 10.03.21 06:10
Оценка: 4 (1)
C>Переодически приходят заказы на разработку настольных приложений, и каждый раз я смотрю на разработку UI как баран на новые ворота. В основном из-за непонимания как эффективно разделять модель и представление. Какие хорошие книги или серии статей есть на эту тему?
UI разрабатывается на основе функция, которые пользователь делает в системе.
Поэтому рекомендую прочитать книгу Алистера Коберна: https://www.labirint.ru/books/421003/
Сильно прояснится.
Книжка небольшая, но очень информативная.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Что почитать по UI?
От: BlackEric http://black-eric.lj.ru
Дата: 10.03.21 07:05
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Переодически приходят заказы на разработку настольных приложений, и каждый раз я смотрю на разработку UI как баран на новые ворота. В основном из-за непонимания как эффективно разделять модель и представление. Какие хорошие книги или серии статей есть на эту тему?


Это же зависит от того на чем вы пишете UI. Вообще есть два самых распространенных паттерна MVC и MVVM. А так я бы смотрел документацию и примеры по либе с помощью которой ведется разработка.
https://github.com/BlackEric001
Re[2]: Что почитать по UI?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 10.03.21 07:25
Оценка:
Здравствуйте, BlackEric, Вы писали:

BE>Это же зависит от того на чем вы пишете UI.


А если в задачу входит и выбор средств реализации UI тоже?

BE>Вообще есть два самых распространенных паттерна MVC и MVVM. А так я бы смотрел документацию и примеры по либе с помощью которой ведется разработка.


Подозреваю, что вопрос ТС был понят не до конца. У меня вот тоже всегда была такая же (в плане выбора визуальных средств для представления модели) проблема с UI. Например, модель включает несколько параметров, которые могут быть включены/выключены. Обычно такое делается чекбоксами или двумя списками (все и выбранные). Когда параметров два-три, и нагляднее, и удобнее сделать чекбоксы. Когда пятьдесят — списки. А когда их восемь, десять, двенадцать? Надо ж еще как-то учесть предпочтения пользователей, а они могут быть сильно разными.
Re[2]: Что почитать по UI?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 10.03.21 08:26
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>прочитать книгу Алистера Коберна

LVV>Сильно прояснится.

Пролистал ее по диагонали — по-моему, она переусложнена. То, что там подробно расписывается и разжевывается, чаще всего само становится понятным после определения задач и способов взаимодействия. А способы взаимодействия — это уже больше изобретательство.

Например, в метро разных стран еще много лет назад можно было купить жетоны или разовые билеты, заплатив картой, и совершенствовалась именно такая система оплаты. Лишь недавно появились турникеты, к которым можно приложить карту непосредственно. Казалось бы, элементарно — но ведь не допер никто раньше.
Re[3]: Что почитать по UI?
От: akasoft Россия  
Дата: 10.03.21 08:31
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Подозреваю, что вопрос ТС был понят не до конца. У меня вот тоже всегда была такая же (в плане выбора визуальных средств для представления модели) проблема с UI. Например, модель включает несколько параметров, которые могут быть включены/выключены. Обычно такое делается чекбоксами или двумя списками (все и выбранные). Когда параметров два-три, и нагляднее, и удобнее сделать чекбоксы. Когда пятьдесят — списки. А когда их восемь, десять, двенадцать? Надо ж еще как-то учесть предпочтения пользователей, а они могут быть сильно разными.


Как например, помещаются на экране — чекбоксы, не помещаются — списки.
Чётное количество — радость перфекциониста.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[3]: Что почитать по UI?
От: akasoft Россия  
Дата: 10.03.21 08:31
Оценка: +1
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Например, в метро разных стран еще много лет назад можно было купить жетоны или разовые билеты, заплатив картой, и совершенствовалась именно такая система оплаты. Лишь недавно появились турникеты, к которым можно приложить карту непосредственно. Казалось бы, элементарно — но ведь не допер никто раньше.

Метро транспорт бедных.
Карта перестала быть роскошью.
Утрата карты (украли-отжали) и утрата жетона. Есть разница.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[4]: Что почитать по UI?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 10.03.21 08:37
Оценка:
Здравствуйте, akasoft, Вы писали:

A>Как например, помещаются на экране — чекбоксы, не помещаются — списки.


На каком экране? Они бывают и 1024x600 (до сих пор), и 12K. Кому-то нравится большое количество чекбоксов в развесистом диалоге, поскольку все сразу видно и под рукой, а кому-то подавай диалог покомпактнее, и тогда — только списки. Как понять заранее, каких больше?
Re: Что почитать по UI?
От: gyraboo  
Дата: 10.03.21 08:43
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Переодически приходят заказы на разработку настольных приложений, и каждый раз я смотрю на разработку UI как баран на новые ворота. В основном из-за непонимания как эффективно разделять модель и представление. Какие хорошие книги или серии статей есть на эту тему?


Ставишь Lazarus и пишешь всю бизнес-логику как реакцию на события кнопок и прочих элементов интерфейса, "модель" хранишь как часть полей форм, т.е. "вида". Заморачиваться MVC и прочим имеет смысл только для сложных приложений.
Re[4]: Что почитать по UI?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 10.03.21 08:43
Оценка:
Здравствуйте, akasoft, Вы писали:

A>Метро транспорт бедных.


Вы там давно были? Посмотрите, кто там ездит в часы пик — удивитесь. И не только в московском, и не только в России.

A>Карта перестала быть роскошью.

A>Утрата карты (украли-отжали) и утрата жетона. Есть разница.

Не вижу разницы. Зачем к автоматам, продающим жетоны/билеты, картоприемники приделали еще лет двадцать назад, а к турникетам — совсем недавно? Бесконтактные карты тут ни при чем — списывать мелкие суммы без PIN-кода можно было и тогда.
Re[3]: Что почитать по UI?
От: cppguard  
Дата: 10.03.21 08:48
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Подозреваю, что вопрос ТС был понят не до конца. У меня вот тоже всегда была такая же (в плане выбора визуальных средств для представления модели) проблема с UI. Например, модель включает несколько параметров, которые могут быть включены/выключены. Обычно такое делается чекбоксами или двумя списками (все и выбранные). Когда параметров два-три, и нагляднее, и удобнее сделать чекбоксы. Когда пятьдесят — списки. А когда их восемь, десять, двенадцать? Надо ж еще как-то учесть предпочтения пользователей, а они могут быть сильно разными.


Всё верно. Проблема не закодить сам UI, а выполнить взаимодействие пользовательского интерфейса с моделью так, чтобы потом не было больно расширять приложение. Последение пару раз я отказывался от UI вообще и программировал DSL, благо, что заказчики радостно соглашались.
Re[2]: Что почитать по UI?
От: BlackEric http://black-eric.lj.ru
Дата: 10.03.21 08:49
Оценка:
Здравствуйте, gyraboo, Вы писали:

G>Здравствуйте, cppguard, Вы писали:


C>>Переодически приходят заказы на разработку настольных приложений, и каждый раз я смотрю на разработку UI как баран на новые ворота. В основном из-за непонимания как эффективно разделять модель и представление. Какие хорошие книги или серии статей есть на эту тему?


G>Ставишь Lazarus и пишешь всю бизнес-логику как реакцию на события кнопок и прочих элементов интерфейса, "модель" хранишь как часть полей форм, т.е. "вида". Заморачиваться MVC и прочим имеет смысл только для сложных приложений.


И это предлагает человек, который ставит процессы разработки в различных конторах?
https://github.com/BlackEric001
Re[3]: Что почитать по UI?
От: gyraboo  
Дата: 10.03.21 08:54
Оценка:
Здравствуйте, BlackEric, Вы писали:

C>>>Переодически приходят заказы на разработку настольных приложений, и каждый раз я смотрю на разработку UI как баран на новые ворота. В основном из-за непонимания как эффективно разделять модель и представление. Какие хорошие книги или серии статей есть на эту тему?


G>>Ставишь Lazarus и пишешь всю бизнес-логику как реакцию на события кнопок и прочих элементов интерфейса, "модель" хранишь как часть полей форм, т.е. "вида". Заморачиваться MVC и прочим имеет смысл только для сложных приложений.


BE>И это предлагает человек, который ставит процессы разработки в различных конторах?


Ну да, если разрабатывать "по уму по MVC", то дороже выйдет. MVC весьма усложняет разработку и сам код, и требует от людей определенной квалификации, которую не всегда найдешь среди суппортеров. А простецкий "дельфийский" подход к клепанию GUI весьма дешев и эффективен, он начинает давать сбой только для сложных ГУИ-шных проектов.
Re[5]: Что почитать по UI?
От: akasoft Россия  
Дата: 10.03.21 09:36
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>На каком экране?

На том, на котором будут показаны.
ЕМ> Кому-то нравится большое количество чекбоксов в развесистом диалоге, поскольку все сразу видно и под рукой, а кому-то подавай диалог покомпактнее, и тогда — только списки.
Восприятие разнится от человека к человеку. Всем не угодить.
ЕМ>Как понять заранее, каких больше?
Спросить. Или предположить.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[5]: Что почитать по UI?
От: akasoft Россия  
Дата: 10.03.21 09:44
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Вы там давно были? Посмотрите, кто там ездит в часы пик — удивитесь. И не только в московском, и не только в России.

Вот поэтому карта и перестала быть роскошью. Мультипаспорт.

ЕМ>Не вижу разницы.

Раньше была разница, украли у тебя карту или жетон на метро. Карта была роскошью.

ЕМ> Зачем к автоматам, продающим жетоны/билеты, картоприемники приделали еще лет двадцать назад, а к турникетам — совсем недавно?

Не позволяли доступные технологии и консерватизм владельцев бизнеса. "Работает — не трогай" во всей красе.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[6]: Что почитать по UI?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 11.03.21 13:18
Оценка:
Здравствуйте, akasoft, Вы писали:

A>Раньше была разница, украли у тебя карту или жетон на метро.


В чем была разница? Я вижу разницу только в сроках выпуска новой карты (пара недель двадцать лет назад, один-два — сейчас).

A>Карта была роскошью.


В 90-х карта была роскошью только в развивающихся странах (в России тоже). Уже в самом начале 2000-х карты выпускали десятки банков, они были доступны всем желающим, тогда же начали перечислять туда зарплаты. Другое дело, что в России до середины 2000-х было особо некуда совать те карты, кроме банкоматов, но в США и Западной Европе торговых точек, принимавших карты, было до хренища и в 90-е.

A>Не позволяли доступные технологии и консерватизм владельцев бизнеса. "Работает — не трогай" во всей красе.


Технологии как раз были доступны — просто никто не думал, что это может иметь значительный спрос.
Re: Что почитать по UI?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 11.03.21 13:55
Оценка: 78 (2)
Здравствуйте, cppguard, Вы писали:

C>Переодически приходят заказы на разработку настольных приложений, и каждый раз я смотрю на разработку UI как баран на новые ворота. В основном из-за непонимания как эффективно разделять модель и представление. Какие хорошие книги или серии статей есть на эту тему?

Начни с About Face https://www.amazon.com/About-Face-Essentials-Interaction-Design/dp/1118766571
Иначе начнешь делать с модели и получишь не самый лучший интерфейс.
Re: Что почитать по UI?
От: Буравчик Россия  
Дата: 11.03.21 14:23
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Переодически приходят заказы на разработку настольных приложений, и каждый раз я смотрю на разработку UI как баран на новые ворота. В основном из-за непонимания как эффективно разделять модель и представление. Какие хорошие книги или серии статей есть на эту тему?


Создай класс-фасад с методами-бизнес логики: добавить то-то, удалить то-то, посчитать то-то. В общем, то, что делает твое приложение.

Методы этого класса — это контракт между моделью и представлением. Для выполнения любых операций представление должно работает только с этим классом и ни с чем больше.

Представление может быть реализовано как угодно — создавай любые классы — для окон, для настроек, и т.п.
Реализация бизнес-логики тоже как угодно — создавай классы для алгоритмов, бизнес-объектов, файлов, внешних сервисов и т.п.

Если возникают сомнения, является ли что-то бизнес-логикой (должно быть в модели) или логикой представления (должно быть в представлении), то представь сразу что ты в дальнейшем разработаешь другие интерфейсы, кроме графического будет текстовый, голосовой и т.п. Если поведение одинаковое для всех видов интерфейсов — это бизнес-логика, если отличается — это представление.
Best regards, Буравчик
Re[7]: Что почитать по UI?
От: akasoft Россия  
Дата: 11.03.21 15:16
Оценка: -1
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>В чем была разница?

В непредоставлении услуги и потраченном держателем карты времени и нервах.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>> SQL DE 2016
Re[2]: Что почитать по UI?
От: cppguard  
Дата: 11.03.21 23:42
Оценка:
Здравствуйте, Буравчик, Вы писали:

C>>Переодически приходят заказы на разработку настольных приложений, и каждый раз я смотрю на разработку UI как баран на новые ворота. В основном из-за непонимания как эффективно разделять модель и представление. Какие хорошие книги или серии статей есть на эту тему?


Б>Создай класс-фасад с методами-бизнес логики: добавить то-то, удалить то-то, посчитать то-то. В общем, то, что делает твое приложение.


Б>Методы этого класса — это контракт между моделью и представлением. Для выполнения любых операций представление должно работает только с этим классом и ни с чем больше.


Б>Представление может быть реализовано как угодно — создавай любые классы — для окон, для настроек, и т.п.

Б>Реализация бизнес-логики тоже как угодно — создавай классы для алгоритмов, бизнес-объектов, файлов, внешних сервисов и т.п.

Б>Если возникают сомнения, является ли что-то бизнес-логикой (должно быть в модели) или логикой представления (должно быть в представлении), то представь сразу что ты в дальнейшем разработаешь другие интерфейсы, кроме графического будет текстовый, голосовой и т.п. Если поведение одинаковое для всех видов интерфейсов — это бизнес-логика, если отличается — это представление.


Спасибо, но это прям какие-то основы промышленного проектирования. Когда взаимосвязи видно невооружённым глазом, то и проблем-то нет, а вот когда начинаются всякие циклические зависимости или неизбежно протекающие абстракции, то становится грустно.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.