|
Разделение интерфейс/функционал на практике
|
|||
---|---|---|---|
#18+
Когда читаешь про WPF, часто можно слышать рекламный лозунг - типа отдайте дизайн верстальщикам, а функционал пусть пишут кодеры! Вот и возник вопрос - кто-нибудь реально смог это реализовать? Вот есть у меня проект в студии. Есть xaml-файлы, есть cs-файлы. Хочу отдать в аутсорс дизайн форм. Как отдать ТОЛЬКО дизайн? Ведь многие переменные завязаны на ModelView, на Model. Делать для дизайнеров макетные данные? Как тогда подменять макет <-> рабочая модель? Ну, понятно, имеется в виду не как один раз подменить, а как организовать непрерывный, итеративный процесс разработки. Интересуют в первую очередь: а кто-нибудь, реально, смог реализовать этот рекламный слоган в жизнь? Отдать в аутсорс дизайн без бизнес-логики? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 20:15 |
|
Разделение интерфейс/функционал на практике
|
|||
---|---|---|---|
#18+
в моём последнем проекте, нет не 1 XAML файл в CodeBehind частью. Вся Visual'ная часть представлена в виде DataTemplate'ов, для которых можно задать соответствующий тип контекста данных то есть, делаешь Model, затем берешь данные из модели и представляешь их в том виде, который ты бы хотел увидеть в интерфейсе. Грубо, говоря если мне надо список представить в виде текста, то во ViewModel ты преобразуешь массив в текст и т.д. для конкретной ViewModel можно создать интерфейс который будешь указать как контекст данных во ViewModel, это будет контрактом для верстальщика. Он будет видеть какие у интерфейса есть свойства и Command'ы и будет на них делать View. У меня в конторе сами дизайнеры в XAML не верстают. они дают мне файлы в AI Формате, а я уже пилю на XAML ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 20:57 |
|
Разделение интерфейс/функционал на практике
|
|||
---|---|---|---|
#18+
13thКогда читаешь про WPF, часто можно слышать рекламный лозунг - типа отдайте дизайн верстальщикам, а функционал пусть пишут кодеры! Здесь явно речь идет о view (верстальщикам) и model (кодерам), однако MVVM включает в себя еще и третью часть - viewmodel. Часто неудачи в разделении работ над дизайном и функционалом заключаются в смешивании в одном флаконе модели и вьюмодели. 13thВедь многие переменные завязаны на ModelView, на Model. Второго быть не должно - UI вообще ничего не должен знать про модель, только про вьюмодель. В иделе модель, вьюмодель и UI должны быть разнесены по разным сборкам. 13thДелать для дизайнеров макетные данные? Отдать им вьюмодель - хотя бы в виде интерфейса, как выше писал Роман. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2016, 03:54 |
|
Разделение интерфейс/функционал на практике
|
|||
---|---|---|---|
#18+
Не вижу ни какого противоречия. Если разработчик Хамл это тот же программист который и биндинги должен прописывать и конверторы писать если надо. Ему нужно давать рабатающую ViewModel. Только когда приложение работает в динамике можно написать адекватный хамл. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 04:56 |
|
Разделение интерфейс/функционал на практике
|
|||
---|---|---|---|
#18+
Я не говорил, что есть какие-то противоречия. Спрашиваю, у кого как организовано. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 16:50 |
|
Разделение интерфейс/функционал на практике
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныВ иделе модель, вьюмодель и UI должны быть разнесены по разным сборкам. Всё равно возникают проблемы и надо всё дебажить вместе. Т. е. должен быть человек, который разбирается во всём и любую часть может поправить. А значит, лучше, когда все части делает один и тот же человек, а не на конечное звено в производственной цепи (сборщика) скидывают проблемы все предшествующие. Всяческие тесты тут помогают постольку-поскольку, и всё равно в конце должен быть человек, который "знает всё и может всё поправить ещё вчера сроки горят уьбю если не успеешь за две минуты и мне плевать, что мы на презентации, а все исполнители отсутствуют/в отпусках/уволились/заболели/умерли". Специализация хороша при конвеерном производстве, когда штампуют одно и то же и все процессы можно отладить. Т. е. если вы делаете, например, сайы по шаблону с минимальными изменениями, то катит, а если каждый раз индивидуальный дизайн и значительные различия в технологиях (каждый раз что-то новое пробуете - ведь мир джаваскрипта меняется со скоростью один фреймворк и три мажорных версии в год), то при проблемах виноватых, как правило, не найти. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2017, 11:01 |
|
Разделение интерфейс/функционал на практике
|
|||
---|---|---|---|
#18+
Rocketeer88888Всё равно возникают проблемы и надо всё дебажить вместе. Т. е. должен быть человек, который разбирается во всём и любую часть может поправить. А значит, лучше, когда все части делает один и тот же человек, а не на конечное звено в производственной цепи (сборщика) скидывают проблемы все предшествующие. Всяческие тесты тут помогают постольку-поскольку, и всё равно в конце должен быть человек, который "знает всё и может всё поправить ещё вчера сроки горят уьбю если не успеешь за две минуты и мне плевать, что мы на презентации, а все исполнители отсутствуют/в отпусках/уволились/заболели/умерли". Тяжело, наверное, жить с таким опытом за плечами. Я бы давно уже сменил специализацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2017, 11:29 |
|
Разделение интерфейс/функционал на практике
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныRocketeer88888Всё равно возникают проблемы и надо всё дебажить вместе. Т. е. должен быть человек, который разбирается во всём и любую часть может поправить. А значит, лучше, когда все части делает один и тот же человек, а не на конечное звено в производственной цепи (сборщика) скидывают проблемы все предшествующие. Всяческие тесты тут помогают постольку-поскольку, и всё равно в конце должен быть человек, который "знает всё и может всё поправить ещё вчера сроки горят уьбю если не успеешь за две минуты и мне плевать, что мы на презентации, а все исполнители отсутствуют/в отпусках/уволились/заболели/умерли". Тяжело, наверное, жить с таким опытом за плечами. Я бы давно уже сменил специализацию. Со своей стороны, я тоже рад слышать, что где-то у кого-то есть налаженные процессы, ничего никогда не сбоит, а если вдруг что, то сразу - ххоп! - и всё нормально. Может, вы даже начали свою карьеру сразу с таких мест и никогда не бывали в местах похуже, как молодой Будда. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2017, 12:06 |
|
Разделение интерфейс/функционал на практике
|
|||
---|---|---|---|
#18+
Rocketeer88888Сон Веры ПавловныВ иделе модель, вьюмодель и UI должны быть разнесены по разным сборкам. Всё равно возникают проблемы и надо всё дебажить вместе. Т. е. должен быть человек, который разбирается во всём и любую часть может поправить. А значит, лучше, когда все части делает один и тот же человек, а не на конечное звено в производственной цепи (сборщика) скидывают проблемы все предшествующие. Всяческие тесты тут помогают постольку-поскольку, и всё равно в конце должен быть человек, который "знает всё и может всё поправить ещё вчера сроки горят уьбю если не успеешь за две минуты и мне плевать, что мы на презентации, а все исполнители отсутствуют/в отпусках/уволились/заболели/умерли". Специализация хороша при конвеерном производстве, когда штампуют одно и то же и все процессы можно отладить. Т. е. если вы делаете, например, сайы по шаблону с минимальными изменениями, то катит, а если каждый раз индивидуальный дизайн и значительные различия в технологиях (каждый раз что-то новое пробуете - ведь мир джаваскрипта меняется со скоростью один фреймворк и три мажорных версии в год), то при проблемах виноватых, как правило, не найти. для того, чтоб такой подход работал нужно хорошо спроектировать всё с самого налача, иметь чёткие контракты для каждого слоя, тогда проблем не будет. Если какой то код не соотвествует контракту, значит тот кто его делал его правит, а кто в какой последовательности при этом пишет совершенно не важно. Вполне возможно, что UI будет сделан раньше даже Data Model. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2017, 14:23 |
|
Разделение интерфейс/функционал на практике
|
|||
---|---|---|---|
#18+
13thОтдать в аутсорс дизайн без бизнес-логики? А как можно отдать дизайн _С_ бизнес-логикой? Посмотри тутор какой что-ли, там объясняется, как в режиме дизайна подставить фейковую модель. И всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2017, 14:38 |
|
Разделение интерфейс/функционал на практике
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныRocketeer88888..... должен быть человек, который "знает всё и может всё поправить ещё вчера сроки горят уьбю если не успеешь за две минуты и мне плевать, что мы на презентации, а все исполнители отсутствуют/в отпусках/уволились/заболели/умерли". Тяжело, наверное, жить с таким опытом за плечами. Я бы давно уже сменил специализацию. Ты про Стива? авторПрезентация первого iPhone, проведенная Стивом Джобсом, до сих пор считается одним из лучших мероприятий Apple. Но за кулисами все было далеко не так гладко: эмоции и переживания били ключом. Дело в том, что имевшиеся на тот момент сто первых iPhone ужасно глючили: теряли сигнал, прерывали звонки, тормозили или банально выключались в самый неподходящий момент. Чтобы никто не увидел проблемы с приемом сети, показанный Джобсом прототип даже запрограммировали на показ максимального уровня сигнала. Помимо всего прочего, iPhone не мог полностью проиграть песню или видео без вылета соответствующих приложений, но мог воспроизвести отрывок. Неприятным сюрпризом оказалось и то, что после открытия Safari оказалось невозможным отправить email, хотя в обратном порядке все работало отлично. Путем многократных манипуляций инженеры Apple нашли способ показать iPhone так, чтобы ничего не глючило и не вылетало. Полуторачасовая презентация со Стивом Джобсом в главной роли прошла на ура и вошла в историю. https://lenta.ru/articles/2017/01/13/ios/ ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2017, 18:20 |
|
|
start [/forum/topic.php?fid=21&fpage=9&tid=1440574]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 229ms |
total: | 392ms |
0 / 0 |