Подтвердить что ты не робот

Каков пример пользовательского интерфейса на основе задач?

Моя команда была "поручена" для создания приложения, которое следует за пользовательским интерфейсом на основе задач (не обязательно с CQRS). Мне очень нравится пользовательский интерфейс, который помогает пользователю легко выполнять общие задачи, но многие части этого приложения действительно "чувствуют" (для меня), как работа для типичного интерфейса CRUD (например: все детали для продукта в каталоге).

На этом этапе нам нужны примеры хороших пользовательских интерфейсов на основе задач, которые помогут нам понять, что возможно. Что вы видели в сетях?

4b9b3361

Ответ 1

Я думаю, что это будет квалифицироваться как пользовательский интерфейс на основе задач. Windows Control Panel

Ответ 2

Самый простой способ создать пользовательский интерфейс на основе задач - это защитить все атрибуты/свойства ваших моделей. т.е. удалить все сеттеры.

Из этого (псевдокода):

public class TodoTask
{
    public Date getDateAssigned();
    public void setDateAssigned(Date);
    public string getAssignedTo();
    public void setAssignedTo(string);
}

:

public class TodoTask
{
    public Date getDateAssigned();
    public string getAssignedTo();

    public void AssignTo(string userId);
}

Вы больше не можете создавать базовое приложение CRUD. Вы должны выполнить задачу (Assign()), чтобы обновить модель.

Начните с удаления всех сеттеров, а затем проанализируйте, какие действия (задачи) вы должны выполнять в каждой модели.

Тогда вы все настроены.

Я написал об этом в блоге: http://blog.gauffin.org/2012/06/protect-your-data/ (прокрутите вниз, чтобы увидеть макеты для CRUD vs Task based)

Ответ 4

Думаю, я действительно не думаю о том, что пользовательский интерфейс выглядит как основанный на задачах или основанный на CRUD (хотя пример Дмитрия - это тот, который показывает, что он основан на задачах - множество команд). Я вижу пользовательский интерфейс на основе задач больше с точки зрения того, как он взаимодействует с базовым доменом и моделью данных. Если ваше взаимодействие представляет собой не что иное, как типичное готовое приложение MVC с методами действий для Get/List/Insert/Update/Delete, вы создаете базовое приложение CRUD. Но если вы откажетесь от этих методов действий по умолчанию и создадите действия/команды, которые имеют смысл для приложения (например, добавьте элемент в корзину покупок, деактивируйте класс и т.д.), Тогда это будет больше в мир пользовательского интерфейса на основе задач.

Я думаю, что это довольно серая линия между ними.

Что касается примера, я знаю, что сайт, на котором я работаю (braincredits.com), является моей попыткой пользовательского интерфейса на основе задач. Это определенно работа в процессе, и я вношу в нее изменения, чтобы постоянно ее улучшать, но реализация выполняется на основе команд (например, запись в стенограмму, добавление урока, просмотр транскрипта и т.д.), А в некоторых частях используется шаблон CQRS.

Надеюсь, это поможет! Удачи!