Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для эффективного использования моделей в проекте разработки члены команды должны иметь возможность одновременной работы с моделями различных частей проекта. В этом разделе предлагается схема разделения приложения на различные части, соответствующие слоям в общей схеме слоев.
Чтобы быстро начать работу над проектом или подпроектом, полезно иметь шаблон проекта, соответствующий выбранной структуре проекта. В этом разделе описывается, как создать и использовать такой шаблон.
В этом разделе предполагается, что вы работаете над достаточно крупным проектом, для которого требуются несколько членов команды или даже, возможно, несколько команд. Код и модели проекта хранятся в системе управления версиями, например Team Foundation Server. По крайней мере некоторые члены команды используют Visual Studio для разработки моделей, а другие могут просматривать модели с помощью других версий Visual Studio.
Сведения о том, какие версии Visual Studio поддерживают каждый инструмент и функцию моделирования, см. в статье "Поддержка версий" для средств архитектуры и моделирования.
Структура решения
В среднем или крупном проекте структура команды соответствует структуре приложения. Каждая команда использует решение Visual Studio.
Разделение приложения на слои
Структура решений должна основываться на структуре приложения, например веб-приложения, приложения службы или классического приложения. В руководстве по архитектуре приложений в руководстве по архитектуре приложений рассматриваются различные распространенные архитектуры.
Создайте решение Visual Studio, которое будет называться решением "Архитектура". Это решение будет использоваться для создания общей структуры системы. Оно будет содержать только модели без кода.
Добавьте схему зависимостей в это решение. На схеме зависимостей нарисуйте архитектуру, выбранную для приложения. Например, на схеме могут отображаться следующие слои и зависимости между ними: "Презентация", "Бизнес-логика" и "Данные".
Создайте отдельное решение Visual Studio для каждого слоя на схеме зависимостей архитектуры.
Эти решения будут использоваться для разработки кода слоев.
Создайте модели, представляющие конструкции слоев и концепции, которые являются общими для всех слоев. Разместите модели таким образом, чтобы все модели были видны из решения "Архитектура", а с каждого слоя были видны соответствующие модели.
Эту задачу можно выполнить, используя любую из описанных ниже процедур. В первом варианте для каждого слоя создается отдельный проект моделирования; во втором варианте создается один проект моделирования, совместно используемый в слоях.
Использование отдельного проекта моделирования для каждого слоя
Создайте проект моделирования в каждом решении слоя.
Эта модель будет содержать схемы, описывающие требования и дизайн этого слоя. Он также может содержать схемы зависимостей, показывающие вложенные слои.
Теперь имеются модели для каждого слоя и модель для архитектуры приложения. Каждая модель содержится в своем собственном решении. Это позволяет членам команды одновременно работать над слоями.
В решение "Архитектура" добавьте проект моделирования для каждого решения слоя. Для этого откройте решение "Архитектура". В Обозреватель решений щелкните правой кнопкой мыши узел решения, наведите указатель мыши на добавление и выберите пункт "Существующий проект". Перейдите в проект моделирования (MODELPROJ) в решении для одного слоя.
Каждая модель теперь видна в двух решениях: в своем "домашнем" решении и в решении "Архитектура".
В проект моделирования каждого слоя добавьте схему зависимостей. Начните с копии схемы зависимостей архитектуры. Можно удалить части, которые не зависят от схемы зависимостей.
Можно также добавить схемы зависимостей, представляющие подробную структуру этого слоя.
Эти схемы используются для проверки кода, разрабатываемого в данном слое.
В решении "Архитектура" отредактируйте требования и модели структуры для всех слоев с помощью Visual Studio.
В решении каждого слоя разработайте код для этого слоя в соответствии с моделью. Если вы планируете выполнять разработку без использования одного и того же компьютера для обновления модели, можно прочитать модель и разработать код, используя версии Visual Studio, в которых нельзя создавать модели. В этих версиях можно также создать код на основе модели.
Этот метод гарантирует отсутствие взаимных помех, вызванных одновременным редактированием моделей слоев разными разработчиками.
Однако использование отдельных моделей затрудняет ссылки на общие концепции. Каждая модель должна иметь собственную копию элементов, через которые она зависит от других слоев и архитектуры. Схема зависимостей в каждом слое должна быть синхронизирована с схемой зависимостей архитектуры. Сложно поддерживать синхронизацию при изменении таких элементов, хотя для этой цели можно разработать специальные средства.
Использование отдельного пакета для каждого слоя
В решение для каждого слоя добавьте проект моделирования "Архитектура". В Обозреватель решений щелкните правой кнопкой мыши узел решения, наведите указатель мыши на добавление и выберите пункт "Существующий проект". Теперь один проект моделирования доступен из каждого решения: из проекта "Архитектура" и из проекта разработки для каждого слоя.
В общей модели создайте пакет для каждого слоя: в Обозреватель решений выберите проект моделирования. В Обозреватель модели UML щелкните правой кнопкой мыши корневой узел модели, наведите указатель на добавление и нажмите кнопку "Пакет".
Каждый пакет будет содержать схемы, описывающие требования и проектирование соответствующего слоя.
При необходимости добавьте локальные схемы зависимостей для внутренней структуры каждого слоя.
Этот метод позволяет элементам структуры каждого слоя ссылаться напрямую на те слои и общую архитектуру, от которых они зависят.
Хотя одновременная работа над различными пакетами может приводить к некоторым конфликтам, ими достаточно просто управлять, так как пакеты хранятся в отдельных файлах.
Создание шаблонов архитектуры
На практике вы не создаете все решения Visual Studio одновременно, но добавляете их в процессе выполнения проекта. Скорее всего, в будущих проектах вы также будете использовать ту же структуру решения. Для упрощения быстрого создания новых решений можно создать шаблон решения или проекта. Шаблон можно перенаправить в расширение интеграции Visual Studio Integration Extension (VSIX), упрощающее распространение и установку на другие компьютеры.
Например, если часто используются решения со слоями "Представление", "Бизнес" и "Данные", можно настроить шаблон, который будет создавать решения с такой структурой.
Создание шаблона решения
Скачайте и установите мастер экспорта шаблонов.
Создайте структуру решения, которую требуется использовать в качестве отправной точки для будущих проектов.
В меню Файл выберите команду Export Template as VSIX(Экспорт шаблона как VSIX).
Откроется шаблон экспорта в виде мастера VSIX.
Следуя инструкциям в мастере, выберите проекты, которые требуется включить в шаблон, укажите имя и описание шаблона, а также укажите расположение выходных файлов.