Поделиться через


Упорядочение решений

Прежде чем создавать решения, уделите время планированию. Например, подумайте, сколько решений вы хотите выпустить и будут ли решения использовать общие компоненты.

Также определите, сколько сред Microsoft Dataverse вам понадобится для разработки вашей линейки решений. Вы можете использовать одну среду для большинства стратегий, описанных в этой статье. Однако, если вы решите использовать только одну среду, а позже поймете, что вам нужно больше, может быть сложно изменить решения, если люди уже установили их. Использование нескольких сред хотя и приводит к большей сложности, может обеспечить большую гибкость.

В следующих разделах описаны различные стратегии управления решениями, перечисленные в порядке от простых к более сложным.

Одно решение

Создавая решение, вы устанавливаете рабочий набор настроек. Это упрощает поиск элементов, которые вы настроили.

Этот подход рекомендуется, когда вы хотите создать только одно управляемое решение. Если вы думаете, что вам, возможно, придется разделить решение в будущем, рассмотрите возможность использования нескольких решений.

Несколько решений

Если у вас есть два несвязанных решения, которые не используют общие компоненты, самый прямой подход — создать два неуправляемых решения.

Заметка

В решениях очень распространено изменение лент приложений или карты сайта. Если оба ваших решения модифицируют эти компоненты решения, они являются общими компонентами. См. следующий раздел, чтобы узнать, как работать с общими компонентами.

Многоуровневое решение и зависимости

Когда вы импортируете различные решения в свою целевую среду, вы часто создаете слои, на которых существующее решение находится ниже импортируемого. Когда дело доходит до многоуровневого решения, важно, чтобы у вас не было взаимозависимостей между решениями. Следует избегать наличия нескольких решений в одной среде с использованием одного и того же неуправляемого компонента. Особенно это касается таблиц.

Сегментируйте свои решения по типу компонентов, когда нет рисков перекрестной зависимости. Например, у вас есть одно решение, которое включает все ваши таблицы, другое решение, которое содержит все ваши подключаемый модули, и третье решение, которое содержит все ваши потоки. Эти разные компоненты не имеют рисков перекрестных зависимостей между решениями. Следовательно, создание нескольких решений таким образом в одной и той же среде безопасно.

Не используйте два разных решения в среде, где оба содержат таблицы. Это связано с тем, что часто существует риск единственной связи между таблицами, которая создает зависимость между решениями и вызывает проблемы с обновлением или удалением решения в целевой среде в более поздний момент времени.

Когда вы проектируете слои решения и хотите иметь структурированный подход к приложениям, вам следует начать с базового слоя. Позже вы импортируете дополнительные решения, которые будут располагаться поверх базового слоя. Впоследствии у вас есть базовый слой и слои расширения наверху, которые расширяют этот базовый слой.

Когда вы управляете своими проектами таким образом, мы рекомендуем вам использовать отдельную среду для каждого слоя. Постройте многоуровневое решение, используя эти шаги.

  1. Прежде чем создавать решения на следующих этапах, используйте одного издателя для всех ваших решений в ваших средах. Дополнительные сведения: Издатель решения

  2. В "базовой" среде у вас есть базовое решение с неуправляемыми таблицами из этой среды и без других таблиц. Затем вы экспортируете это решение как управляемое.

  3. Вы настраиваете вторую среду для слоя расширения или "приложения", которая позже будет располагаться поверх базового слоя.

  4. Вы импортируете управляемый базовый слой в среду слоя приложения и создаете неуправляемое решение для слоя приложения.

    Правильное многоуровневое решение с использованием нескольких решений в нескольких средах.

Теперь вы можете расширить модель данных, добавив в решение приложения дополнительные таблицы, столбцы, отношения таблиц и т.д. Затем экспортируйте это решение приложения как управляемое. Обратите внимание, что решение приложения будет зависеть от решения базового слоя.

В рабочей среде вы импортируете управляемый базовый слой, а затем импортируете управляемый слой приложения. Это создает два управляемых слоя в среде с четкими зависимостями между двумя управляемыми решениями. Такое управление несколькими решениями не приведет к возникновению взаимозависимостей между решениями, что может вызвать проблемы с обслуживанием решения, например, при необходимости удалить верхний слой.

Повторите этот шаблон сегментации, чтобы получить столько различных решений, сколько вам необходимо. Хотя мы рекомендуем, чтобы количество решений было как можно меньшим, чтобы обеспечить управляемость многоуровневого решения.

См. также

Использование сегментированных решений
Сценарий 5: поддержка коллективной разработки