namespace Lattice.Core.Docking.Serialization; /// /// Определяет контракт для сериализации и десериализации состояния макета док-системы. /// Позволяет сохранять и восстанавливать расположение панелей, окон и их состояние. /// /// /// Эта абстракция позволяет реализовать различные форматы сериализации (JSON, XML, бинарный) /// и различные хранилища (файлы, базы данных, облако) без изменения основной логики док-системы. /// public interface ILayoutSerializer { /// /// Сериализует состояние менеджера макета в строку. /// /// Менеджер макета для сериализации. /// /// Строковое представление состояния макета. /// /// /// Выбрасывается, когда равен null. /// string Serialize(Engine.LayoutManager manager); /// /// Десериализует состояние макета из строки и восстанавливает его в менеджере. /// /// Менеджер макета для восстановления состояния. /// Сериализованное состояние макета. /// /// Функция разрешения контента по идентификатору, используемая для восстановления /// ссылок на контент в десериализованном состоянии. /// /// /// Выбрасывается, когда или /// равны null. /// void Deserialize(Engine.LayoutManager manager, string serializedLayout, Func contentResolver); }