<< Click to Display Table of Contents >> Разработка > Процесс разработки > Что использовать: наследование или перекрытие > Перекрытие Объединение изменений в перекрытиях |
Если в среду разработки импортируется несколько базовых решений с перекрытиями одинаковых элементов разработки, то изменения в этих перекрытиях объединяются. Например, у компании есть базовое решение Directum RX. Она приобретает два решения с заказной разработкой, назовем их A и B. И в том, и в другом решении перекрыта задача на ознакомление, но сделаны разные доработки. Оба решения передаются компании в пакетах разработки как базовые решения. При импорте пакетов, чтобы объединить изменения, среда разработки выстраивает цепочку зависимостей между решениями.
В начале цепочки ставится решение, в котором находится родительский элемент разработки, на основе которого делались перекрытия. В описанном примере в начале цепочки будет базовое решение Directum RX. Остальные решения сортируются по уникальному идентификатору (GUID). Предположим, что у решений А и B следующие идентификаторы:
Решение |
GUID |
---|---|
A |
3d68235c-ccba-4a34-b192-9f7674c372c9 |
B |
d8575dc6-5a3b-43a2-903b-8a7e2d46cebd |
Раньше в цепочке встает решение, GUID которой по алфавиту меньше:
После построения цепочки для каждого перекрытого типа сущности или модуля заполняется BaseGuid – GUID типа сущности или модуля, который стоит в цепочке раньше. Если позже импортируется еще одно решение с перекрытием того же элемента разработки, то цепочка перестраивается и для перекрытий указывается актуальный BaseGuid.
Если вы хотите узнать идентификатор (GUID) импортированного элемента разработки, выделите его в дереве решений, в контекстном меню выберите пункт Скопировать идентификатор и вставьте в любой редактор. Информация о BaseGuid хранится только в метаданных элемента разработки. |
Если после импорта базовых решений на своем слое еще раз перекрыть тот же элемент разработки, то ваше решение будет последним в цепочке. В редакторе перекрытого типа сущности в поле Наследовать от будет указано это решение. Т.е. если в нашем примере на слое перекрыть задачу на ознакомление, то:
•цепочка решений будет выглядеть так:
•в редакторе перекрытой задачи в поле Наследовать от будет указано имя предпоследнего решения в цепочке:
Цепочка решений с одинаковыми перекрытиями строится только на базовом слое. Если на своем слое создать несколько решений с одинаковыми перекрытиями, то схема будет следующей:
Чтобы перенести доработки решений (базовых и ваших) в продуктивную систему, нужно создать пакет разработки и включить в него необходимые решения. После чего обновить продуктивную систему с помощью утилиты DeploymentToolCore.
Чтобы обновить на новую версию одно или все базовые решения, понадобится выполнить те же действия: импортировать обновленные пакеты разработки в Directum RX Development Studio, создать новый пакет разработки и обновить продуктивную систему с помощью утилиты DeploymentToolCore.
© Компания Directum, 2024 |