Skip to content
vanderkorn edited this page Oct 26, 2014 · 1 revision

Написать библиотеку для работы с деревьями и веб-приложение для демонстрации ее возможностей.

  1. Написать библиотеку для работы с деревьями, которая должна включать в себя следующую функциональность: 1.1. Создание корневого элемента 1.2. Добавление дочернего элемента 1.3. Получение списка родительских объектов (путь до корня) 1.4. Получение поддерева дочерних элементов определенной глубины 1.5. Получение всего поддерева дочерних элементов 1.6. Изменение родительского элемента с переносом всего поддерева
  2. Сделать небольшое веб-приложение, для демонстрации возможности работы библиотеки: 2.1. Сайт должен состоять из текстовых страниц, организованных в иерархию 2.2. На всех страницах расположено: • 3х уровневое дерево дочерних страниц: страница подстраница подподстраница страница • Путь до корня • Заголовок текущей страницы • Ссылки на редактирование и удаление текущей страницы • Ссылка на добавление дочерний страницы 2.3. Каждая страница описывается следующими полями: • имя страницы - строка, удовлетворяет условию [a-zA-Z0-9_] • название страницы - произвольная строка • текст страницы - произвольный текст, в котором может присутствовать html-разметка. 2.4. Адресная схема мини-сайта: • [site]name1/name2/name3 - открывается страница с именем name3, которая является подстранице страницы name2, которая является подстраницей страницы name1. На странице виден её текст и заголовок, и 3х уровневое дерево дочерних страниц. • [site]name1/name2/name3/edit - страница открывается в режиме редактирования - можно редактировать заголовок и текст. После сохранения нужно делать редирект на адрес [site]name1/name2/name3. • [site]name1/name2/name3/add - форма добавления подстраницы к текущей странице, можно задать имя, заголовок и текст. После добавления нужно делать редирект на адрес [site]name1/name2/name3/[новое имя]. • [site]add - форма добавления корневой страницы.
  3. Реализовать нужно на C# + MSSQL
  4. Обращать внимание на: 4.1. выполнение функциональных требований 4.2. масштабируемость 4.3. архитектуру приложения 4.4. читаемость кода 4.5. комментирование кода 4.6. безопасность кода 4.7. дизайн не важен, 4.8. все оформление вынести в стилевой файл

Clone this wiki locally