Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TODO List: 
V
    Опции темы
blackwitcher
Дата 11.6.2015, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



Всем привет, я недавно начал изучать C# и интересует такая задача. 

Написать приложение списка задач/дел с подзадачами и возможностью отмечать сделанные задачи и подзадачи.

Бизнес-сущности:

Список состоит из задач, разбитых на категории.
Задача: дата, текст, список подзадач, ссылку на категорию, признак завершения
Подзадача: текст, признак завершения.
Категория: текст.

Пользовательские функции:

Работа с задачами

просмотреть список задач.
отметить задачу сделанной.
отметить обратно не сделанной
Удалить все сделанные задачи.

Работа с подзадачами

Добавление подзадач в задачу
отметить подзадачу сделанной
отметить обратно не сделанной
если все подзадачи сделаны, то отметить задачу сделанной



P.S. подскажите с чего начинать. если я не ошибаюсь, то нужно создать БД где будут поля с Бизнес-сущности:
Задача: дата, текст, список подзадач, ссылку на категорию, признак завершения   или совсем другое?

Подскажите, а то с места не двинусь, и еще, я не хочу чтобы за меня Вы сделали, просто подсказажите, СПАСИБО  smile 
PM MAIL   Вверх
Экскалупатор
Дата 12.6.2015, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



Начните с описания UseCases. Продумайте как именно ваше приложение будет использоваться. Буквально, по шагам. Можно не очень детально, но общие, концептуальные моменты проработайте.
Не спешите сразу проектировать базу, потому как потом придется переделывать.
Реализуйте слой бизнес логики, что позволит начать делать интерфейс и смотреть как работает приложение.
Прицепите к бизнесслою слой работы с данными, можно пока просто остановится на интерфейсе(API) а "ниже" сделать заглушки. т.е. фактически никуда ничего не сохранять или сохранять как попало. Если вы все сделаете правильно, то потом поменять фейковую базу на нормальную не составит труда.
Еще, как вараинт, можно взять тот же EntityFramework, который будет генерировать вам базу, но придется писать миграции разные. ну и по хорошему лучше не смешивать хранение с бизнес объектами.
PM MAIL ICQ   Вверх
blackwitcher
Дата 12.6.2015, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



Цитата

Экскалупатор


А можно все это сделать в asp.net сервер с Web API и REST доступом и JS клиент, использующий это API?
PM MAIL   Вверх
Экскалупатор
Дата 12.6.2015, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



конечно, почему нет. суть не меняется, все равно у вас должна быть бизнесмодель, доступ к данным и все такое. только в качестве интерфейса серверного кода будет выступать API, и уже JS будет дергать это API. все это можно. только может оказаться неподъемным если нету опыта. Какие из названных технологий вам знакомы? а какие вы думаете, что знаете? Чем меньше неизвестных вещей вы сразу возьмете, тем больше шансов дописать все это хоть до какого-то юзабельного состояния. Иначе можно погрязнуть в технических деталях и не выплыть. Рассматривайте технологии не как цель, а как средство для достижения вашей цели. Есть ли реальная причина, к примеру, не использовать MVC, Razor, etc, а сразу делать весь клиент на JS? если есть то вперед, а если это просто для "поиграться", то зависит от цели проекта.
PM MAIL ICQ   Вверх
blackwitcher
Дата 12.6.2015, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



большое спасибо Экскалупатор за ответ smile , буду думать над бизнес-моделью 

позднее, как придумаю, скину для проверки, ОК?


Цитата

 Рассматривайте технологии не как цель, а как средство для достижения вашей цели.


золотые слова smile 

Это сообщение отредактировал(а) blackwitcher - 12.6.2015, 10:55
PM MAIL   Вверх
blackwitcher
Дата 12.6.2015, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



Я думаю, что бизнес-модель будет такая:

пользователи создают аккаунт --- логин / пароль ---- 

существует БД, где есть таблица Задачи, в которой есть такие поля: ИД, дата, список задач, список подзадач, признак завершения. 

Таблица подзадач, поля --- ИД, список подзадач, признак завершения
PM MAIL   Вверх
Экскалупатор
Дата 12.6.2015, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



это не бизнес модель.

Какие сущности будут в приложении?
подзадача это тоже задача(объекты одного и того же класса)?
задачу можно закончить без завершения всех подзадач? можно ли переместить подзадачу в другую задачу? превратить ее в полноценную задачу?
можно ли "переоткрыть" завершенную задачу?
Будет ли храниться история манипуляций с задачами?

Набросайте Usecases, способы использования вашего приложения. Не думайте пока про базу вообще. Создайте Классы, которые будут содержать логику работы приложения. И реализуйте минимальный UI. получится типа прототип, выявятся дополнительные требования к вашему приложению. И дальше его уже можно будет доводить до ума.
PM MAIL ICQ   Вверх
blackwitcher
Дата 12.6.2015, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



кажется, теперь начал понимать)) smile 
PM MAIL   Вверх
blackwitcher
Дата 12.6.2015, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



надеюсь, так правильно

Это сообщение отредактировал(а) blackwitcher - 12.6.2015, 16:25

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  test18.rar 26,11 Kb
PM MAIL   Вверх
blackwitcher
Дата 12.6.2015, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



я вообще запутался, вот пример UI smile 

Это сообщение отредактировал(а) blackwitcher - 12.6.2015, 23:03

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  1.jpg 142,51 Kb
PM MAIL   Вверх
Экскалупатор
Дата 13.6.2015, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



а почему они все вложенные? очевидно что все эти "подзадачи" должны находиться на втором уровне, типа:
задача "моем посуду" состоит из, и понеслась: ложки, вилки и пр.

Цитата(blackwitcher @  12.6.2015,  22:03 Найти цитируемый пост)
я вообще запутался


я по этому и предлагаю вам сразу написать юзкейсы.
они должны быть на подобии такого:
пользователь хочет добавить задачу.
1. жмет кнопку "добавить задачу" - открывается форма добавления задачи
2. заполняет форму и жмет "сохранить" - задача сохраняется, форма закрывается, пользователь оказывается на списке задач.

пользователь хочет добавить задачу с подзадачами:
1. жмет кнопку...
2. вводит описание задачи...
3. вводит подзадачи...
4. жмет сохранить...

и так далее. потом по этим кейсам можно делать UI. из них же можно делать бизнес сущности, которыми будет оперировать пользователь.
PM MAIL ICQ   Вверх
blackwitcher
Дата 14.6.2015, 03:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



Спасибо за терпение Экскалупатор

Попытался сделать в ASP.NET MVC, возникла ошибка компиляции  smile 

Если делать в ASP.NET MVC задачи и подзадачи отражать в форме таблицы? А готовность выполнения подзадачи замечать как CheckBox?

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  test23.rar 404,20 Kb
PM MAIL   Вверх
Экскалупатор
Дата 14.6.2015, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



Цитата(blackwitcher @  14.6.2015,  02:04 Найти цитируемый пост)
Если делать в ASP.NET MVC задачи и подзадачи отражать в форме таблицы? А готовность выполнения подзадачи замечать как CheckBox? 

как вам удобно. но ошибки компиляции тут ни при чем.
PM MAIL ICQ   Вверх
blackwitcher
Дата 14.6.2015, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



А как на примере http://www.8-ball.ru/todo.html сделать БД?
PM MAIL   Вверх
blackwitcher
Дата 15.6.2015, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



Цитата

я по этому и предлагаю вам сразу написать юзкейсы.
они должны быть на подобии такого:
пользователь хочет добавить задачу.
1. жмет кнопку "добавить задачу" - открывается форма добавления задачи
2. заполняет форму и жмет "сохранить" - задача сохраняется, форма закрывается, пользователь оказывается на списке задач.

пользователь хочет добавить задачу с подзадачами:
1. жмет кнопку...
2. вводит описание задачи...
3. вводит подзадачи...
4. жмет сохранить...

и так далее. потом по этим кейсам можно делать UI. из них же можно делать бизнес сущности, которыми будет оперировать пользователь

Я все же решил делать как Вы сказали))


У меня такие вопросы:
1) У меня в form2 textBox должны обладать притуплённым текстом, а при нажатии курсора - исчезает текст (я что-то сделал, но не так, как хотелось) smile 

2) form3 вводим подзадачу --- жмем кнопку Add Subtask (или нажимаем Enter) --- должно появиться checkBox1, вводим пoдзадачу2 --- checkBox2, и так далее, это надо делать через массив (я не знаю как сделать) smile 

Буду очень благодарен, если поможете с кодом smile 

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  test24.rar 49,48 Kb
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0531 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.