Pull to refresh

Comments 5

ссылки из «Литература» ведут в никуда, по причине точек в конце названия ссылок
Спасибо, поправил. И учту на будущее.
Обеспечение же синхронизации транзакций обоих типов...

Позволяла ли решаемая задача хранить в чертеже и саму модель, в виде неграфических данных? Тогда транзакция будет одна и необходимость в синхронизации отпадёт сама собой.
Позволяла.
Но нужно иметь в виду, что есть изменение графических данных автокада, и есть изменение модели. Бывает одно без другого (отредактировали только неграфическую сущность, например), бывают оба изменения сразу, причем одно инициируется другим (в любой последовательности). Заставить танцевать все это синхронно удалось не слишком легко.

Кроме того, сериализовать модель в базу на каждый чих и десериализовать на undo было бы несколько расточительно.
Если модель сериализовать целиком, а чертёж использовать только как хранилище «чёрного ящика» сериализованных данных, то конечно выйдет расточительно. Но ведь можно каждый объект модели сериализовать самостоятельно.

Для этого, впрочем, пришлось бы создавать пользовательские примитивы на C++, ведь в 2010 году, когда была написана статья, ещё не было технологии, позволяющей остаться в рамках .NET. О том, как это можно сделать сейчас, мы недавно писали в статье про сериализацию в MultiCAD.NET API.
Sign up to leave a comment.

Articles

Change theme settings