- •17. Критерии и метрики определения качества и сложности разработки пс. Фунционально и размерно-ориентированные метрики. Метрики оопс (метрики Чидамбера-Кемерерва).
- •Метрика 1: Взвешенные методы на класс wmc (Weighted Methods Per Class)
- •Метрика 2: Высота дерева наследования dit (Depth of Inheritance Tree)
- •Метрика 3: Количество детей noc (Number of children)
- •Метрика 4: Сцепление между классами объектов сво (Coupling between object classes)
- •Метрика 5: Отклик для класса rfc (Response For a Class)
- •Метрика 6: Недостаток связности в методах lсom (Lack of Cohesion in Methods)
- •18. Web-программирование. Обработка данных. Get и post запросы. Анатомия Web-формы. Серверные элементы управления
- •19. Страничные директивы и страничные события. Механизмы. Фоновый код.
- •20. Данные и источники данных. Элементы управления, обработка и связывание с источниками данных. Механизмы
- •21. Проверяющие элементы управления. Назначение и использование
- •22. Многостраничные приложения. Связи между формами
- •24. Сеансы и сессии. Назначение и принципы работы. Состояния
- •25. Web-сервисы. Общие принципы организации. Soap
- •26. Web-сервисы. Язык wsdl. Пользовательские типы данных
- •27. Безопасность в asp.Net. Принципы идентификации и аутентификации. Авторизация
- •28. Шаблон проектирования mvc. Взгляд ms .Net. Особенности работы
- •Жизненный цикл запроса.
- •29. Методы разработки по через тестирование (tdd). Взгляд с точки зрения .Net. Особенности
- •30. Многопоточность и параллелизм в .Net. Особенности.
- •31. Коллективная разработка и коллективное владение кодом. Методы организации через svn.
- •32. Идеология Windows Workflow Foundation (wwf). Перспективы и возможности
28. Шаблон проектирования mvc. Взгляд ms .Net. Особенности работы
Model-view-controller (MVC, «Модель-вид-поведение», «Модель-представление-контроллер») — архитектура программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты. Шаблон MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента.
Рисунок 1 – Структурная схема шаблона MVC
Модель (Model). Модель представляет собой данные, которыми оперирует приложение. Она предоставляет данные для View, а также реагирует на запросы от контроллера, изменяя свое состояние.
Представление (View). Представляет собой компонент системы для отображения состояния модели в понятном человеку представлении. В нашем случае это aspx – страницы. Представление не изменяет данные напрямую (режим Только чтение), данные изменяются при помощи контроллера.
Контроллер (Controller). Является средством, при помощи которого пользователи взаимодействуют с системой, а также является управляющим элементом для обмена данными между представлением и моделью.
Важное свойство MVC: модель не зависит ни от представления, ни от контроллера, что позволяет одновременно строить различные интерфейсы пользователя для взаимодействия с одной и той же моделью данных.
Рисунок 2– Структурная схема шаблона MVC для веб-приложения
Жизненный цикл запроса.
На следующей диаграмме показан жизненный цикл запроса в ASP.NET MVC Framework. Необходимо отметить, что большей частью данный ЖЦ характерен и для большинства реализация MVC на других платформах и не является самобытным.
При обращении к веб-приложению пользователь запрашивает какой-либо URL-адрес. Далее запрос направляется в таблицу маршрутов (Global.asax.cs), где устанавливается соответствие между запрашиваемым URL-адресом и контроллером. Далее таблица маршрутов выбирает контроллер + его действие и отравляет запрос туда. Действие может работать с данными или ничего не делать, т.е. быть пустым. Далее действие производит возврат представления, которое отправляется пользователю в виде разметки (HTML или XML).
Рисунок 3– Жизненный цикл запроса
29. Методы разработки по через тестирование (tdd). Взгляд с точки зрения .Net. Особенности
Согласно общепринятому определению TDD есть разработка через тестирование (дословный перевод с английского test-driven development) - особый подход к разработке программных систем, при котором модульные тесты (Unit-тесты) для них пишутся до непосредственной разработки функционала системы. Исходя из этого принято считать, что процесс создания тестов и их разработка управляют разработкой системы.
В процессе разработки приложения присутствует этап тестирования. Согласно классическому жизненному циклу разработки ПС этот этап следует за процессом реализации системы. Иногда его даже совмещают с ним. Если говорить о команде людей, вовлеченных в этот процесс, то тестирование выполняют тестировщики. При это как правило подразумевается функциональное тестирование черного ящика.
В понимании TDD этап написания теста (а по сути начало выполнения тестирования) предшествует этапу разработки. Но это не отменяет возможность наличия традиционного этапа тестирования, который следует после этапа разработки.
В TDD для выполнения Unit-тестирования используются специальные инструменты, автоматизирующие процесс тестирования. Одним из таковых инструментов является NUnit, который является одним из самых распространенных Framework’ов для тестирования. Хотя, в тоже время, следует отметить, что в некоторых верcиях Visual Studio интегрированы внутренние механизмы, поддерживающие TDD. Сами тесты можно разрабатывать непосредственно с использованием NUnit в среде разработки MS Visual Studio.