Разработка ПО - Практика.pptx
- Количество слайдов: 13
Разработка программных приложений (практика) Ястребов С. В.
Разработка Web-приложений Web-приложение: Простой протокол данных HTTP Простые стандарты отражения интерфейса HTML/CSS Простой принцип работы «запрос-ответ» Абстракции для упрощения разработки: Простые – классический ASP, PHP Сложные – ASP. NET Гибкие – MVC Ястребов С. В. – Разработка программных приложений (практика)
Модель MVC Model-view-controller (MVC, «модель-видконтроллер» ) – шаблон проектирования, для разделения на три отдельных компонента: модель данных приложения пользовательский интерфейс взаимодействие с пользователем Разделение происходит таким образом, чтобы модификация одного из компонентов оказывала минимальное воздействие на остальные. Ястребов С. В. – Разработка программных приложений (практика)
Модель MVC Model View Controller Model (модель) – модель данных. View (представление) – интерфейс. Controller (контроллер) – логика. Ястребов С. В. – Разработка программных приложений (практика)
Модель MVC Достоинства MVC для Web-приложений: Внешний вид страниц часто изменяется Нужно несколько вариантов страниц Разные браузеры Разные платформы Разные модели отображения Тестирование приложения без зависимости от приложений Ястребов С. В. – Разработка программных приложений (практика)
Запросы в MVC Браузер Product/List/2 Product/Edit/3 М арш ру ор т иза т Product. Controller (Controller) Product (Model) Сервер ta w. Da Vie w. D ata List (View) Edit (View) БД Ястребов С. В. – Разработка программных приложений (практика)
Разработка с MVC Framework Структура данных – модель. Структура приложения – маршрутизация. Логика работы – контроллеры. Интерфейс пользователя – представление. Ястребов С. В. – Разработка программных приложений (практика)
Структура данных – модель Создаём базу данных Создать БД в MS SQL Server Management Studio. Создаём таблицы инфраструктуры C: WindowsMicrosoft. NETFrameworkv… aspnet_regsql. exe Создаём соединение с БД в проекте: Файл Web. config В тэге <connection. Strings> изменить connection. String Создаём структуру БД для поддержки служб ASP. NET Включаем роли пользователя Создаём роль Manager и пользователя Manager Создаём пользователя User Ястребов С. В. – Разработка программных приложений (практика)
Структура данных – модель Слой доступа к данным Создать набор классов-обёрток для каждого логического блока данных. Создать единый класс для доступа к классам обёрткам. Ястребов С. В. – Разработка программных приложений (практика)
Структура данных – модель Поскольку работа в MVC ведётся с объектами можно воспользоваться ORM (Object-relational mapping, Объектнореляционное отображение) – технология программирования, которая связывает БД с концепциями ООП, создавая «виртуальную объектную базу данных» . Одним из ORM, встроенных в Visual Studio является LINQ to SQL. Ястребов С. В. – Разработка программных приложений (практика)
Структура данных – модель Создание класса LINQ to SQL. В директории Models добавить новый элемент. В разделе Data выбрать LINQ to SQL Classes В появившийся конструктор перетащить нужные таблицы. Настроить поля при необходимости. Auto. Generated. Value Ястребов С. В. – Разработка программных приложений (практика)
Структура данных – модель Создание классов-обёрток для удобного обращения со слоем LINQ to SQL. Создаём классы Repository для каждой сущности (таблицы в БД). В каждом классе поле _data. Context для связи с БД Создаём коллекцию, где T – нужный класс public IEnumerable<T> Get. Objects() { return _data. Context. T. Order. By(t => t. Title); } Получение доступа к отдельному объекту: public T Get. Task(int id) { return _data. Context. T. Single. Or. Default(t => t. ID == id); } Ястребов С. В. – Разработка программных приложений (практика)
Структура данных – модель (классы Repository) Создание объекта: Обновление объекта: public T Create. Object(/* Список полей */) { T t = new T {/* Настройка полей */}; _datacontext. T. Insert. On. Submit(t); _datacontext. Submit. Changes(); return t; } public void Update. Task(T t) { T db. Object = Get. Object(t. ID); /* Настройка полей db. Object */ _datacontext. Submit. Changes(); } Удаление объекта public void Delete. Task(int id) { T t = Get. Object(id); _datacontext. T. Delete. On. Submit(t); _datacontext. Submit. Changes(); } Ястребов С. В. – Разработка программных приложений (практика)
Разработка ПО - Практика.pptx