|
|
|
Блеск и нищета метаданных
|
|||
|---|---|---|---|
|
#18+
Last1Cmenофф Garya, ну вот вроде и дело говоришь но таааак длинно что моск выноситНу уж извините... :) Написать коротко не было времени... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2010, 13:00 |
|
||
|
Блеск и нищета метаданных
|
|||
|---|---|---|---|
|
#18+
Garya, против этого особо и не поспоришь. Но, как мне показалось, вопрос не в том, есть ли ограничения в принципе, а в том, как в рамках одной комплексной архитектуры совмещать и тот и другой подход (метаданные и кастомизация). К примеру если рассматривать системы построенные на метаданных не как законченные решения, а как шаблоны по типу Enterprise Library от Microsoft. Возможно, в этом случае можно будет получить плюсы от обоих подходов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2010, 14:51 |
|
||
|
Блеск и нищета метаданных
|
|||
|---|---|---|---|
|
#18+
Мне кажется, из эссе, которое написал Garya, можно извлечь частное следствие: подход со стороны метаданных благо для поставщиков серийных решений и спорное преимущество для потребителя или внутреннего разработчика. Накликать систему без исторических данных можно гораздо быстрее, чем при классическом подходе. Но со стороны потребителя эта возможность уже не выглядит так привлекательно. Как правило, у него нет задач "накликать новый бизнес, который не взимодействует со старыми данными". Его больше волнует совместимость, производительность и т.д. Организационные задержки (и расходы) при появлении новых бизнес единиц гораздо больше тех сроков, которые отводятся консультантам продавца на сбор данных и "накликивание". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2010, 11:29 |
|
||
|
Блеск и нищета метаданных
|
|||
|---|---|---|---|
|
#18+
GaryaПотому что изменение описания класса после того, как в системе уже имеется (хранится) масса объектов в соответствии с его прежним описанием порождает конфликт между теми данными, которые были накоплены ранее, и теми данными, которые предполагается накапливать в будущем. При изменении метаописания на определенную дату само метаописание и состояние объектов сохраняется на эту дату, а текущее состояние приводится в соответствие с новым метаописанием (если это вообще требуется). Соответственно результат запроса к данным зависит от даты запроса. Ессно способ хранения объектов должен позволять хранить разную структуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2010, 10:07 |
|
||
|
Блеск и нищета метаданных
|
|||
|---|---|---|---|
|
#18+
_модGaryaПотому что изменение описания класса после того, как в системе уже имеется (хранится) масса объектов в соответствии с его прежним описанием порождает конфликт между теми данными, которые были накоплены ранее, и теми данными, которые предполагается накапливать в будущем. При изменении метаописания на определенную дату само метаописание и состояние объектов сохраняется на эту дату, а текущее состояние приводится в соответствие с новым метаописанием (если это вообще требуется). Соответственно результат запроса к данным зависит от даты запроса. Ессно способ хранения объектов должен позволять хранить разную структуру. Ага, а разработчики должны помнить структуру метаданных не только на текущий момент, но и историю всех изменений, все временные слои этой архитектуры. А еще интерфейс среды разработки удобоваримый нужен - покрутил колесико мыши и метаданные откатились назад на несколько моментов времени. Приятно порассуждать о мегавозможностях, вот только все это фанатизм для избранных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2010, 10:59 |
|
||
|
Блеск и нищета метаданных
|
|||
|---|---|---|---|
|
#18+
Ortogon Приятно порассуждать о мегавозможностях, вот только все это фанатизм для избранных. Ну, это не просто, не всегда нужно, но стремится к этому надо. А интерфейс динамически создается по метаданным, тут и проблемы нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2010, 12:18 |
|
||
|
Блеск и нищета метаданных
|
|||
|---|---|---|---|
|
#18+
Возможности ООП сильно различаются в зависимости от языка. Как и взгляд на "железобетонность" метаданных. Коммон Лисп, первый из стандартизованных ОО-языков программирования, предоставляет большую динамику. Лисп был основой многих разработок нашумевшей некогда области искусственного интеллекта. Это наложило отпечаток на "качество закладки" объектных принципов - они предназначались не только для удобства написания программного кода, но и для адекватного представления сущностей реального мира. Классы - это также объекты, являющиеся в свою очередь экземплярами метаклассов. Метаобъектный протокол позволяет программисту предусмотреть действия над уже порожденными экземплярами. Процесс изменение определения класса можно настроить, определив методы для полиморфной (generic) функции update-instance-for-redefined-class. Можно совсем поменять класс объекта вызовым change-class и локализовать изменения, необхдимые во всех экземплярах, путем задания методов update-instance-for-different-class. Структура представления классов, т.е. метаобъектов, стандартизована и несильно отличается от представления "обычных" экземпляров, a хранятся они в одной среде. Поэтому можно проводить действия над этими метаобъектами "вручную". Не представляет сложности хранить устарешие метаобъекты и проводить изощрённое сопоставление новых и старых определений. Это не решает всех проблем с историческими данными и изменениями схемы, но по крайней мере направляет мысль в правильную сторону. К тому же метаобъектную гибкость и прозрачность при работе с внешними данными может обеспечить только "настоящая" объектная СУБД, например, Allegro Cache (вдаваться в неё неуместно в форуме по РСУБД). Как это всё может помочь в повседневной реляционной жизни? Разумеется, через ОРМ. Разные модули или отчёты могут включать разные редакции класса, точнее, определения классов с различными именами. Степень родства разных определений может различаться: где-то определение совершенно уникально, где-то удобно наследоваться от общего надкласса (множественное наследование дополнительно облегчает жизнь). При выборке из БД каждый модуль "знает", в экземпляры какого преобразуются записи. Конечно, при радикальной смене схемы БД, старые определения тоже могут перестать работать. Но затрагиваемые изменения в коде достаточно хорошо локализованы - подправить нужно отображение на объекты. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2010, 10:17 |
|
||
|
Блеск и нищета метаданных
|
|||
|---|---|---|---|
|
#18+
Dmitriy Ivanov, это о чем вообще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2010, 11:12 |
|
||
|
Блеск и нищета метаданных
|
|||
|---|---|---|---|
|
#18+
iscrafmDmitriy Ivanov, это о чем вообще? Это о том, что с помощью подхода применяемого в ООП можно "тюнинговую кастомизацию" и "залезание в брюхо" (см.сообщение Cane Cat Fisher на 7-ой странице топика) системы сделать обратимыми, структуированными и с возможностью каскадирования изменений по слоям наследования. Что в некоторой степени минимизирует зло наносимое мега-профи-гениями, желающими себя увековечить в нестандартном поле ввода или какой-нибудь круглой кнопочке в системе типа Nav. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 09:15 |
|
||
|
Блеск и нищета метаданных
|
|||
|---|---|---|---|
|
#18+
AlexsalogiscrafmDmitriy Ivanov, это о чем вообще? Это о том, что с помощью подхода применяемого в ООП можно "тюнинговую кастомизацию" и "залезание в брюхо" (см.сообщение Cane Cat Fisher на 7-ой странице топика) системы сделать обратимыми, структуированными и с возможностью каскадирования изменений по слоям наследования. Что в некоторой степени минимизирует зло наносимое мега-профи-гениями, желающими себя увековечить в нестандартном поле ввода или какой-нибудь круглой кнопочке в системе типа Nav. это можно сделать и применяя другие подходы. Только причем здесь обсуждаемая тема? Вопрос бы об этом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 11:12 |
|
||
|
|

start [/forum/topic.php?fid=29&msg=36520265&tid=1526502]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
170ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 516ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...