NerdDinner. Шаг 1: Новый проект
Это первый шаг бесплатного руководства «NerdDinner», которое показывает, как построить маленькое, но полноценное веб-приложение, используя ASP.NET MVC.
Начнем наше приложение NerdDinner(ужин для ботанов) с выбора пункта меню File>New Project.
Мы увидим окно «New Project». Для создания ASP.NET MVC приложения , мы выберем пункт «Web» в левой части окна, а далее шаблон проекта «ASP.NET MVC Web Application» в правой части.
Убедитесь, что вы установили ASP.NET MVC, иначе вы не увидите данного пункта в «New Project». Также это можно сделать через Microsoft Web Platform Installer (ASP.NET MVC доступен в секции «Web Platform>Frameworks and Runtimes»)
Мы назовем новый проект «NerdDinner». После нажатия “OK” Visual Studio предложит выборочно создать проект для юнит-тестирования для нового проекта. Данный проект позволяет нам создать автоматизированные тесты, которые проверяют функциональность и поведение нашего приложения (мы рассмотрим данную тему в следующих шагах).
Выпадающий список «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 создаст решение с двумя проектами, один для веб-приложения, второй для юнит-тестирования:
Исследуем структуру директорий NerdDinner
Когда вы создаете новой ASP.NET MVC приложение с Visual Studio, она автоматически добавляет нужный список директорий и файлов в проект:
У ASP.NET MVC проекта, по умолчанию, шесть высокоуровневых директорий:
/Controllers – Куда вы помещаете классы Controller для обработки URL запросов
/Models – Где вы размещаете классы для предоставления и манипулирования данными
/Views – Где вы храните файлы шаблонов UI , которые отвечают за прорисовку результата
/Scripts – Где вы располагаете файлы JavaScript библиотек и скрипты (.js)
/Content – Где вы размещаете CSS файлы и изображения, а также другие статические объекты.
/App_Data – Где вы храните файлы данных для записи и чтения.
ASP.NET MVC не требует от вас придерживаться данной структуры. Фактически, работая над большими приложениям разработчики обычно разделяют приложение на несколько проектов для гибкости. Например: классы моделей данных выносят в отдельный проект библиотеки. Тем не менее, структура проекта по умолчанию, предоставляет удобное решение, для сохранения чистоты и прозрачности структуры
Когда мы раскроем директорию /Controllers, то обнаружим, что Visual Studio добавила два класса котроллера – HomeController и AccountController, по умолчанию:
В директории /Views находятся три поддиректории: /Home, /Account и /Shared, а также несколько файлов-шаблонов в каждой:
Директории /Content и /Scripts хранят файл Site.css, который используется для оформления всего HTML на сайте, а также JavaScript библиотеки, которые предоставляют приложению поддержку jQuery и ASP.NET AJAX:
Проект NerdDinner.Test хранит всего-лишь два класса, которые содержат юнит-тесты для наших классов котроллеров:
Перечисленные файлы, которые добавляются Visual Studio в проект по умолчанию, предоставляют нам базовую структуру работающего приложения, дополняя домашней страницей, about страницей, страницами для регистрации/входа/выхода и страницей необработанных ошибок.
Запуск приложения NerdDinner
Мы можем запустить проект, выбрав в меню Debug>StartDebugging или Debug>Start Without Debugging:
Проект запустится используя встроенный в Visual Studio ASP.NET Web-сервер:
Ниже расположена домашняя страница нашего нового проекта (URL: “/”) после запуска:
Нажав на ссылку «About», вы увидите about страницу (URL: “/Home/About”):
Нажав на “Log On” в правом верхнем углу, мы перенесемся на страницу авторизации (URL: “/Account/LogOn”):
Ежели у нас отсутствует логин, мы можем перейти на регистрацию (URL: “/Account/Register”):
Код, который отвечает за реализацию home, about и logout/register функциональность добавлен по умолчанию, во время создания проекта. Вы будем использовать его, как отправную точку в нашем проекте.
Тестирование NerdDinner приложения
Если мы используем Professional версию Visual Studio и выше, то можем воспользоваться встроенной поддержкой юнит-тестирования в IDE:
Выбрав один из вариантов, откроется панель «Test Results», которая предоставляет нам статус каждого из 27 встроенных юнит-тестов в виде Прошел/не прошел.
Позже в данном руководстве мы поговорим о автоматизированном тестировании и добавим дополнительные юнит-тесты, которые покроют функционал приложения, реализованные нами.
Следующий шаг
И так, мы имеем базовую структуру приложения и можем перейти к созданию базы данных для хранения данных приложения.
Компании из статьи
Microsoft Украина | Украинское подразделение компании Microsoft. |