AS3 Scala vasilisa cgml
Раз уж пошла такая пьяна, и сегодня вечером изрыгаю текст, что в обычные дни для меня не характерно, напишу ка я про свой новый чудо-проект: Рассово Русскуй Православный Дата Фреймворк Василиса.
code.google.com Василиса это развитие идеи CGML, который из простого компактного сереализатора превратился в тул для связи данных из разных источников. К примеру у нас есть некий сравочник, который меняется редко и сложен по структуре, пользовательские данные, которые ссылаются на объекты из этого справочника и клиент-серверный протокол, который может ссылаться и на то и на другое. Сравочник в базе хранить смысла не имеет, передавать его на клиент по средством какого-то особого механизма тоже. Имеет смысл загружать этот справочник в память клиента и сервера, как блоб. Имеет смысл смысл хнанить пользовательские данные в БД. Вопрос: как все это дело связать в одное единое, хм.. пространство имен? Вот тут по и приходит на помощь Василиса. По сути это прострой язык для описания структур данных с поддержкой полиморфизма и множественного наследования. Из этого языка генерируются исходники для разных платформ. Исходники предствляют из себя модели (классы с геттерами и стеерами), структруры (классы с геетерами и конструкторами содеражщими параметры), и трейты (суть интерфейсы). Модели и структуры имеют методы выдачи и приемки данных. В случае с со структорой это функции приемки и выдачи полной информации, а с моделями еще приемка и отдача changeset. Эти методы принимают интерфейсы, реализация которых определят способ передачи или сохранения этих моделей/cтруктур (Worker). Worker'ы связываются в цепочки, что позволяет организовать связанность данных. Можно грабить корованы.