Как стать автором
Обновить

NerdDinner. Шаг 1: Новый проект

Время на прочтение3 мин
Количество просмотров3.5K
Автор оригинала: Scott Gu, Hanselman, Haacked
Это первый шаг бесплатного руководства «NerdDinner», которое показывает, как построить маленькое, но полноценное веб-приложение, используя ASP.NET MVC.

Начнем наше приложение NerdDinner(ужин для ботанов) с выбора пункта меню File>New Project.

Мы увидим окно «New Project». Для создания ASP.NET MVC приложения, мы выберем пункт «Web» в левой части окна, а далее шаблон проекта «ASP.NET MVC Web Application» в правой части.

image


Убедитесь, что вы установили ASP.NET MVC, иначе вы не увидите данного пункта в «New Project». Также это можно сделать через Microsoft Web Platform Installer (ASP.NET MVC доступен в секции «Web Platform>Frameworks and Runtimes»)

Мы назовем новый проект «NerdDinner». После нажатия “OK” Visual Studio предложит выборочно создать проект для юнит-тестирования для нового проекта. Данный проект позволяет нам создать автоматизированные тесты, которые проверяют функциональность и поведение нашего приложения (мы рассмотрим данную тему в следующих шагах).

clip_image002[6]

Выпадающий список «Test framework» содержит все доступные шаблоны юнит-тестовых проектов для ASP.NET MVC на данной машине. Вы можете использовать Nunit, MBUnit и XUnit, а также встроенный Visual Studio Unit Test framework.

Visual Studio Unit Test framework доступен в Professional версии и выше, для Standard и Express версии нужно установить стороннее дополнение. Если не установлено ни одного тестового фреймворка, окно выбора не появляется.

Мы воспользуемся именем тестового проекта по умолчанию – «NerdDinner.Tests» и выберем фреймворк «Visual Studio Unit Test». После подтверждения Visual Studio создаст решение с двумя проектами, один для веб-приложения, второй для юнит-тестирования:

clip_image003[8]

Исследуем структуру директорий NerdDinner


Когда вы создаете новой ASP.NET MVC приложение с Visual Studio, она автоматически добавляет нужный список директорий и файлов в проект:

clip_image004[6]

У ASP.NET MVC проекта, по умолчанию, шесть высокоуровневых директорий:

/Controllers – Куда вы помещаете классы Controller для обработки URL запросов

/Models – Где вы размещаете классы для предоставления и манипулирования данными

/Views – Где вы храните файлы шаблонов UI, которые отвечают за прорисовку результата

/Scripts – Где вы располагаете файлы JavaScript библиотек и скрипты (.js)

/Content – Где вы размещаете CSS файлы и изображения, а также другие статические объекты.

/App_Data – Где вы храните файлы данных для записи и чтения.

ASP.NET MVC не требует от вас придерживаться данной структуры. Фактически, работая над большими приложениям разработчики обычно разделяют приложение на несколько проектов для гибкости. Например: классы моделей данных выносят в отдельный проект библиотеки. Тем не менее, структура проекта по умолчанию, предоставляет удобное решение, для сохранения чистоты и прозрачности структуры

Когда мы раскроем директорию /Controllers, то обнаружим, что Visual Studio добавила два класса котроллера – HomeController и AccountController, по умолчанию:

clip_image005[6]

В директории /Views находятся три поддиректории: /Home, /Account и /Shared, а также несколько файлов-шаблонов в каждой:

clip_image006[6]

Директории /Content и /Scripts хранят файл Site.css, который используется для оформления всего HTML на сайте, а также JavaScript библиотеки, которые предоставляют приложению поддержку jQuery и ASP.NET AJAX:

clip_image007[6]

Проект NerdDinner.Test хранит всего-лишь два класса, которые содержат юнит-тесты для наших классов котроллеров:

clip_image008[6]

Перечисленные файлы, которые добавляются Visual Studio в проект по умолчанию, предоставляют нам базовую структуру работающего приложения, дополняя домашней страницей, about страницей, страницами для регистрации/входа/выхода и страницей необработанных ошибок.

Запуск приложения NerdDinner


Мы можем запустить проект, выбрав в меню Debug>StartDebugging или Debug>Start Without Debugging:

clip_image009[6]

Проект запустится используя встроенный в Visual Studio ASP.NET Web-сервер:

clip_image010[6]

Ниже расположена домашняя страница нашего нового проекта (URL: “/”) после запуска:

clip_image011[6]

Нажав на ссылку «About», вы увидите about страницу (URL: “/Home/About”):

clip_image012[6]

Нажав на “Log On” в правом верхнем углу, мы перенесемся на страницу авторизации (URL: “/Account/LogOn”):

clip_image013[6]

Ежели у нас отсутствует логин, мы можем перейти на регистрацию (URL: “/Account/Register”):

clip_image014[7]

Код, который отвечает за реализацию home, about и logout/register функциональность добавлен по умолчанию, во время создания проекта. Вы будем использовать его, как отправную точку в нашем проекте.

Тестирование NerdDinner приложения



Если мы используем Professional версию Visual Studio и выше, то можем воспользоваться встроенной поддержкой юнит-тестирования в IDE:

clip_image016[7]

Выбрав один из вариантов, откроется панель «Test Results», которая предоставляет нам статус каждого из 27 встроенных юнит-тестов в виде Прошел/не прошел.

clip_image017[6]

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

Следующий шаг


И так, мы имеем базовую структуру приложения и можем перейти к созданию базы данных для хранения данных приложения.
Теги:
Хабы:
Всего голосов 45: ↑24 и ↓21+3
Комментарии16

Публикации