Здравствуйте, Кирилл Лебедев, Вы писали:
КЛ>Это вопрос к Вам — Вы же ставили задачу. Если для Вас разница между "данными" и "метаданными" важна, соответственно, ее нужно было и подчеркнуть.
А для тебе что данные и метаданные одно и тоже?
КЛ>Не вижу проблем, которые помешали бы создать еще одну таблицу и поместить туда метаданные. Эту таблицу можно отдельно считывать и редактировать, не затрагивая остальные данные формы.
Еще раз. Метаданные не у формы. Метаданные у контролов. Причем они прибиты к контролам насмерть ибо это описание того что с этими контролами можно вобще делать.
Имея такое описание мы можем работать с контролом обобщенно.
КЛ>И что? Просто добавляете контрол в соответствующую таблицу? Зачем трогать все остальное?
Какую еще таблицу? Контрол нарисовал Выся Пупкин который не имеет доступа к исходникам системы.
КЛ>Там же написано — Parent ID и ID. А что это — идентификаторы контрола или свойства или чего-нибудь еще — совершенно не важно.
Да блин... наворачивается системка...
КЛ>Перечислите здесь, что еще — кроме текста и картинки — может содержать (отображать) контрол, и я покажу, как можно изменить таблицу. 
Да что угодно. Это ограничено только фантазией автора контрола.
КЛ>При заполнении эти поля можно оставить пустыми.
А зачем их вобще для всех заводить?
КЛ>Не вижу здесь никакого хакерства. Наоборот, я использовал обобщение. Алгоритму расположения все равно, что располагать и на чем располагать. Сам алгоритм от этого не изменится — он работает с прямоугольниками.
Те ты таки настаиваешь на этом? И после такого ты утверждаешь что твои программы легко поддерживать?
Дело в том что ты создал очень сильную связь на пустом месте. Теперь если мы захотим что-то изменить поедет все. Спрашивается а оно нам надо?
КЛ>В Вашей постановке задачи ни про Dock, ни про Follow ничего не написано. Но если Вы детально опишите, что это такое, я могу наглядно показать, как и эти вещи укладываются в предложенную модель.
Да я сам знаю как уложить это в твою модель. Я давно понял что ты предлогаешь.
Вот только я категорически против таких методов.
Ибо это все очень тяжело делать.
Ибо при добалении нового типа контейнера да и нового контрола нам придется переделывать ВСЕ! Те совсем ВСЕ!
Нам придется править и все сериализаторы, и менять структуру таблиц в базах. И допиливать дизайнер.
Мой подход этих проблем лишон.
При реализации данной системы проблемы были. Но ни одна из них не связанна с метаданными. Те были проблемы с кривыми контролами (ну не самим же все писать), были проблемы с разной природой различных представлений (win и web ну очень разные). Но небыло проблем с метаданными. Те вобще небыло.
Когда нужен был новый контрол он просто тупо добавлялся.
И ничего править было не нужно.
Ибо система понимет метаданные контрола и по ним все само работает.
И сериализация, и редактор и все что в голову взбредет.
WH>>Кстати я правильно понял что ты в дизайнере предлагаешь держать паралельно контролы используемые дизайнером и вот эти вот твои таблички?
КЛ>Вы бы по-человечески описали проблему — тогда можно будет говорить о решении.
Проблема в том что нужно синхронизировать два разных представления одного и тогоже.
Ибо редактор был взят тот что в WinForms. Ну не самому же его писать.
WH>>Еще ты проигнорировал то что присоедененные свойства и события могут быть не только информацией о положении контрола.
КЛ>Почему проигнорировал? Вы их просто не перечислили. Перечислите, и посмотрим.
Что перечислить? Все свойства которые один контрол может добавлять другому?
Так я их не знаю. Каждый новый контрол может иметь возможность комунибудь, чегонибудь добавить.
Это не фиксируется при разработке системы.
Добро пожаловать в реальный мир где требования постоянно меняются.
WH>>Данная модель не жизнеспособна. Перечислять все проблемы очень долго.
КЛ>Почему же не работоспособна? Вполне работоспособна. Просто либо Вы слишком много требуете от эскиза, либо не полностью описали задачи, решения которых сейчас требуете. Все эти задачи решаемы.
Не подменяй слова.
Данная система не жизниспособна по тому что она не выживет под напором изменений.
КЛ>Вы бы привели здесь свою модель, чтобы мы могли с коллегами оценить ее жизнеспособность и проверить на соответствие Вашим же критериям. А то как-то однобоко у Вас все получается. 
Так это же не я предлогаю серебренную пулю.
А ты пока еще не продемонстрировал ничего интересного. Все твои решения это то как нельзя делать никогда.