shuklin wrote: > От так я вам тут все свои ноу хау и выдал )) На данный момент из ноу хау > реализована и опубликована новая версия идентификации экземпляров > объектов, не совместимая с ODMG. Это я про синонимию и омонимию > идентификаторов экземпляров объектов.
Ну так покажите результаты тестов. Какие проблемы?
> > > C>Интересны базовые алгоритмы — они определяют скорость работы. У вас > есть что-то новое, чего нет в существующих ОО/РБД? > Ну вот идентификация другая. Дальше будет больше но не сразу. Не > реализованные фичи я обсуждать не буду.
Идентификации объектов в БД используются следующие:
1. Физический ID (ID объекта является физическим указателем на
расположение объекта в хранилище).
2. Логический ID, для преобразования в физическую позицию используется
какой-нибудь механизм типа каталога страниц.
Недостатки и преимущества обоих типов давно известны и хорошо описаны.
Что у вас нового?
> C>Если нет полиморфизма, то ОО "легким движением руки" превращается в РБД. > РБД это в первую очередь РМД. А вот моя ОБД лежит на сетевой МД. РБД она > не может быть ну никак.
Чистая сетевая модель не позволяет эффективно строить индексы, либо
требует фиксированные пути доступа к данным (что еще хуже).
Если мы начинаем строить индексы — то опять сваливаемся в РБД.
Кстати, эмуляции сетевых моделей с помощью РБД делаются без проблем —
просто считаем главный ключ записи указателем объекта. Коллекции
1-ко-многим делаются с помощью обратных указателей, а многие-ко-многим
делаются с помощью вспомогательной таблицы.
Ассимптотика у алгоритмов получается другая, но зато мы можем делать
ad-hoc запросы.
> C>Отличительная особенность ООБД — навигационный доступ. Благодаря нему > можно легко обрабатывать сложносвязные данные, но как раз навигационный > доступ мешает построению индексов. > В РБД есть понятие буукмарк. Это и есть скрыты ОИД. Не понятно кому и > чем ОИД мешает, в ОБД если он не мешает в РБД,
OID — это далеко не главная вещь. Я бы даже сказал, что второстепенная.
В РБД идентификатором объекта является главный ключ, и поиск по главному
ключу занимает O(log N) времени. При реальных объемах данных можно
считать, что он займет O(1) (амортизированое константное время).
Точка разлома — в представлении коллекций. В сетевых БД коллекции
хранятся непосредственно в объекте, то есть НЕ являются табличными данными.
Возьмем классический пример: есть список школ, у каждой школы список
учеников. Нам надо найти все школы с номерами от 20 до 100 и выбрать
всех учеников с 5 по 8 классы.
В случае РБД мы делаем выборку из таблицы школ по диапазону номеров
(O(log N) времени) и join'им ее с результатами выборки из школ по классу
ученика (тоже O(log N) времени). В результате, имеем ассимптотику O(log
N) для поиска.
В случае сетевой БД мы сначала получаем список школ с указанным номером
— это займет O(log N), если есть индекс по полю записи и O(N) в
противном случае. Затем мы для каждой найденной школы берем _весь_
список ее учеников и ищем в нем учеников с указаным возрастом. В общем,
имеем сложность O(log N)*O(log M), а при третьем уровне вложенности все
еще хуже — O(log N)*O(log M)*O(log K).
Можно схитрить — построить для некоторых путей доступа быстрые
lookup-таблицы. Именно это вы и делаете по намекам на HANDLE объекта,
различный в разных контекстах и волновое распространение изменений
(кстати, об этом еще в 70-х догадались ).
Но проблема появится при изменении схемы данных — это будет дорогая
операция, требующая прочитать уйму данных.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[17]: Файловые системы, файлы, приложения - устаревшие кон
Скорость сканирования C# объектов в кэш — до 80000 шт/сек
Скорость инстанциирования C# — ок 1000 шт/сек.
Второй показатель поддается относительно простой оптимизации. Первый — оптимизировать дальше будет гоораздо сложнее.
C>Идентификации объектов в БД используются следующие: C>1. Физический ID (ID объекта является физическим указателем на C>расположение объекта в хранилище). C>2. Логический ID, для преобразования в физическую позицию используется C>какой-нибудь механизм типа каталога страниц. C>Недостатки и преимущества обоих типов давно известны и хорошо описаны.
C>Что у вас нового?
один и тот же ИД указывает одновременно на несколько разных объектов.
C>Чистая сетевая модель не позволяет эффективно строить индексы, либо C>требует фиксированные пути доступа к данным (что еще хуже).
У меня сетевая модель с прямым доступам к узлам по их ИД, Так что индексы строить можно. Хотя в текущей версии они не реализованны.
C>Если мы начинаем строить индексы — то опять сваливаемся в РБД.
В БД похожую во многом на РБД. Вот только с РМД она совместимой не будет, значит и не РБД.
C>Кстати, эмуляции сетевых моделей с помощью РБД делаются без проблем — C>просто считаем главный ключ записи указателем объекта. Коллекции C>1-ко-многим делаются с помощью обратных указателей, а многие-ко-многим C>делаются с помощью вспомогательной таблицы.
Разве без проблем? А перформанс? А удобство? ...
C>Ассимптотика у алгоритмов получается другая, но зато мы можем делать C>ad-hoc запросы.
В сетевой БД никакая теория этого тоже не запрещает. LINQ видели?
>> C>Отличительная особенность ООБД — навигационный доступ. Благодаря нему >> можно легко обрабатывать сложносвязные данные, но как раз навигационный >> доступ мешает построению индексов. >> В РБД есть понятие буукмарк. Это и есть скрыты ОИД. Не понятно кому и >> чем ОИД мешает, в ОБД если он не мешает в РБД, C>OID — это далеко не главная вещь. Я бы даже сказал, что второстепенная.
Тогда не вижу сути вопроса. В РБД тоже есть скрытый навигационный доступ, и он нормально соседсвует с индексами, мало того этими же индексами и используется.
C>В РБД идентификатором объекта является главный ключ, и поиск по главному C>ключу занимает O(log N) времени. При реальных объемах данных можно C>считать, что он займет O(1) (амортизированое константное время).
Да. Но накладные расходы на инстанциирование в ОРМ больше чем у ОБД. А так все действительно ооочень близко и похоже.
C>Точка разлома — в представлении коллекций. В сетевых БД коллекции C>хранятся непосредственно в объекте, то есть НЕ являются табличными данными.
Именно. В сетевой ОБД ваще все не является табличными данными. В этом тоже дополнительное отличие. И с моей точки зрения доп приемущество. А механизмы реализации — само собой теже. Теже индексы, страницы, транзакции, блокировки, версии ...
C>Возьмем классический пример: есть список школ, у каждой школы список C>учеников. Нам надо найти все школы с номерами от 20 до 100 и выбрать C>всех учеников с 5 по 8 классы.
C>В случае РБД мы делаем выборку из таблицы школ по диапазону номеров C>(O(log N) времени) и join'им ее с результатами выборки из школ по классу C>ученика (тоже O(log N) времени). В результате, имеем ассимптотику O(log C>N) для поиска.
Мне вот что тут интересно, JOIN у вас в этом примере оказался O(1).
Имхо тут будет тот же O(logN) * O(logN). Если есть способ это обойти — буду благодарен за повышение квалификации.
Я тогда этот метод спианерю у РБД и применю у себя.
Давайте здесь более подробно. Пусть Ш — общее число школ. У — общее число учеников. Ш' — число отфильтрованных школ. У' — число отфильтрованных учеников.
тогда поиск в РБД будет O(logШ + logУ + log(Ш'*У'))
с другой стороны в каждой школе учатся вовсе не все ученики. тоесть у — это уже среднее число учеников в каждой школе — чтоб не заморачиваться.
поиск в ОБД O(logШ + logШ' * logу)
шото мне кажется, что ОБД здесь уделала РБД, даже при тупом обходе дерева в глубь.
Давайте это разберем — в натуре интересно и полезно.
Re[12]: Файловые системы, файлы, приложения - устаревшие кон
Здравствуйте, shuklin, Вы писали:
S>Я уже устал отвечать на этот вопрос одно и тоже. Не рекомендую — не значит не могу. Могу. Но инкапсуляция в том виде в котором она есть в обычном языке программирования в БД лишня. Она лишняя в РБД. Она лишняя в ОБД, Не нужна там такая концепция. Лишняя концепция не значит нереализуемая или неподдреживаемая. Я ее поддерживаю. Кто пользуется — принимает на себя следствия ее использования. Согласитесь, если сама концепция инкапсуляции просто по законам логики влечет за собой отрицательные последствия для БД — не зависимо от того ОБД или РБД — то наверное что то не с конкретной реализацией ОБД а с самой концепцией. Вот я и дал возможность — кому надо — пользоваться, кому не надо — не пользоваться.
Я могу лишь сказать, что то что вы не можете реализовать без проблем инкапсуляцию это потому, что вы плохо подумали, а не потому что это невозможно. И не надо говорить про логику — это слишком громкое заявление. Поэтому решение ваше половинчато. А говорить что инкапсуляция не нужна это вообще критическая ошибка. Инкапсуляция позволяет говорить об объектах. Если ее нет — это не объекты. Более того смысл инкапсуляции очевиден и доказан. Вы же с этим спорите и говорите, что тут что-то не то с концепцией...
IT>>А как же внутреннее состояние объекта. Жесткие требования к сериализации как я понимаю тоже из этой серии. То что будет сериализоваться будет лежать в базе просто как блоб, поиска по этим данных мы не получим.
S>Тоже устал писать одно и тоже. Объект в моей БД можно сохранять частями. См. в соседних ветках.
Это тоже не объект. Пока вы продолжаете называть ваши необъектные данные объектами вы продолжаете натыкаться на теже самые вопросы и комментарии. Нечему тут удивляться и вздыхать — устали, отдохните.
Понятие объекта в ООП строго. Брать от него половину и говорить, что это вот мол у меня тоже объект — оснований быть не может.
S>Знаете, для меня лучший аргумент — это работоспособный код который решает описанные проблемы. В соседних ветках уже есть гора сообщений с кратким описанием решений. Этот работоспособный код у меня есть, так что можете тут хоть лопнуть — мне это как бы без разницы.
Работоспособный код в вашем понимании это вообще не аргумент. Можно все что угодно сделать работоспособного...
На вашей так называемой "ОБД" есть реально работающие крупные системы в промышленной эксплуатации с опытом хотя бы в 1 год?
Хоть 1? Приведите пример.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Best Regards. Max.
Re[13]: Файловые системы, файлы, приложения - устаревшие кон
MS>Я могу лишь сказать, что то что вы не можете реализовать без проблем инкапсуляцию это потому, что вы плохо подумали, а не потому что это невозможно. И не надо говорить про логику — это слишком громкое заявление. Поэтому решение ваше половинчато. А говорить что инкапсуляция не нужна это вообще критическая ошибка. Инкапсуляция позволяет говорить об объектах. Если ее нет — это не объекты. Более того смысл инкапсуляции очевиден и доказан. Вы же с этим спорите и говорите, что тут что-то не то с концепцией...
Любят у нас слова переверать. В C# инкапсуляция есть? ЕЕ вам как инкапсуляции хватает?
Моя БД паразитирует на .NET и его возможностях. Можете вы и в среде моей БД пользуясь VS 2003 использовать любимую вами инкапсуляцию Что вам в ней не хватает
MS>Это тоже не объект. Пока вы продолжаете называть ваши необъектные данные объектами вы продолжаете натыкаться на теже самые вопросы и комментарии.
C# экземпляр это что?
Re[18]: Файловые системы, файлы, приложения - устаревшие кон
Здравствуйте, shuklin, Вы писали:
S>Здравствуйте, Cyberax, Вы писали:
C>>Ну так покажите результаты тестов. Какие проблемы?
S>Никаких. вот домашняя страница проекта. Там даже сырцы открыты: http://www.shuklin.com/ai/ht/ru/cerebrum
S>Скорость сканирования C# объектов в кэш — до 80000 шт/сек S>Скорость инстанциирования C# — ок 1000 шт/сек.
Это смешной тест. Особенно эти "до" и "ок". Я могу за 2 часа написать систему со скоростью сканирования и инстантиирования существенно выше и это ничего не докажет. С каких пор это стало показателем производительности БД? Каким образом проводился тест? 80000 штук в секунду прочитанных объектов. Это что — все разом прочитали и вперед? На большой базе при рандомном чтении предел 100 чтений в секунду. По определению. Потому что время доступа к участку на жестком диске около 10мсек. А вы что там меряли, скорость кэша или скорость линейного чтения объектов типа Object?
А вообще хочу сказать, что ведете вы себя невежливо — сначала вы спрашиваете мнения других, а потом начинаете "тыкать" всем подряд и говорить, что вам плевать на их мнение. Я бы мог с вами обсуждать эту тему, поскольку тоже ей занимаюсь, но вы ведете себя настолько "высокомерно", что ничего конструктивного обсуждать желания нет...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Best Regards. Max.
Re[14]: Файловые системы, файлы, приложения - устаревшие кон
Здравствуйте, shuklin, Вы писали:
S>Любят у нас слова переверать. В C# инкапсуляция есть? ЕЕ вам как инкапсуляции хватает?
Вы меня в переверании обвиняете?
Мне хватает инкапсуляции.
S>Моя БД паразитирует на .NET и его возможностях. Можете вы и в среде моей БД пользуясь VS 2003 использовать любимую вами инкапсуляцию Что вам в ней не хватает
Ваша БД не поддерживает механизмы инкапсуляции без проблем. Проблемы вы обозначили. Решить их не смогли и списали на .NET.
MS>>Это тоже не объект. Пока вы продолжаете называть ваши необъектные данные объектами вы продолжаете натыкаться на теже самые вопросы и комментарии.
S>C# экземпляр это что?
Хороший вопрос. И ответ ничего не скажет.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Best Regards. Max.
Re[19]: Файловые системы, файлы, приложения - устаревшие кон
Здравствуйте, Max.Subpixel, Вы писали:
C>>>Ну так покажите результаты тестов. Какие проблемы?
S>>Никаких. вот домашняя страница проекта. Там даже сырцы открыты: http://www.shuklin.com/ai/ht/ru/cerebrum
S>>Скорость сканирования C# объектов в кэш — до 80000 шт/сек S>>Скорость инстанциирования C# — ок 1000 шт/сек.
MS>Это смешной тест. Особенно эти "до" и "ок". Я могу за 2 часа написать систему со скоростью сканирования и инстантиирования существенно выше и это ничего не докажет. С каких пор это стало показателем производительности БД? Каким образом проводился тест? 80000 штук в секунду прочитанных объектов. Это что — все разом прочитали и вперед? На большой базе при рандомном чтении предел 100 чтений в секунду. По определению. Потому что время доступа к участку на жестком диске около 10мсек. А вы что там меряли, скорость кэша или скорость линейного чтения объектов типа Object?
sequential insert, 200000 instances, AMD 1.7 1400 items/sec, DB file 16M
repeatable sequential scan 200000 instances, 20000000 scans — 80000 items/sec
in both tests transactions are disabled.
MS>А вообще хочу сказать, что ведете вы себя невежливо — сначала вы спрашиваете мнения других, а потом начинаете "тыкать" всем подряд и говорить, что вам плевать на их мнение. Я бы мог с вами обсуждать эту тему, поскольку тоже ей занимаюсь, но вы ведете себя настолько "высокомерно", что ничего конструктивного обсуждать желания нет...
Жаль.
Re[15]: Файловые системы, файлы, приложения - устаревшие кон
MS>Ваша БД не поддерживает механизмы инкапсуляции без проблем. Проблемы вы обозначили. Решить их не смогли и списали на .NET.
ИМХО поддерживает в объеме достаточном для эксплуатации. А проблемы — где их нет. Про технические и идеологические проблемы своей БД я знаю. Много их там. Не было бы — не педалил бы следующую версию
Re[20]: Файловые системы, файлы, приложения - устаревшие кон
Здравствуйте, shuklin, Вы писали:
S>ИМХО поддерживает в объеме достаточном для эксплуатации. А проблемы — где их нет. Про технические и идеологические проблемы своей БД я знаю. Много их там. Не было бы — не педалил бы следующую версию
Да вы уже давно себе решили — поддерживать индексы свойств нельзя, значит поля публичные и на них придется полагаться. И все — инкапсуляция долой и все с ней связанное. И опять работа со статичными данными вместо свойств. Могли бы подумать о динамическом реинжиниринге кода поисковых предикатов для работы с индексами прайват полей, но не стали... А теперь уж поздно все выбрасывать — новая версия как никак.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Best Regards. Max.
Re[22]: Файловые системы, файлы, приложения - устаревшие кон
MS>Да вы уже давно себе решили — поддерживать индексы свойств нельзя, значит поля публичные и на них придется полагаться. И все — инкапсуляция долой и все с ней связанное. И опять работа со статичными данными вместо свойств. Могли бы подумать о динамическом реинжиниринге кода поисковых предикатов для работы с индексами прайват полей, но не стали... А теперь уж поздно все выбрасывать — новая версия как никак.
Ващето есть идеи на этот счет. Но если вы ходили по указанной ссылке, и читали описание — там понаписано в ограничениях горааздо более серьезных вещей чем инкапсуляция. Например, текущая опубликованная версия — однопользовательская desktop ((((
Как можно догадаться, на все направления работ меня одного не хватат. Да и большие БД большие коллективы не раз в месяц выпускают. Так что индексов в ближайшем будущем не будет. Если оно надо — каждый девелопер будет волен сериализовать хэштайбл как персистент экземпляр. и усе.
А вот с приват полями и с индексами работать имхо смысла нет. Допустим есть у нас экземпляр объекта в котором только методы — он просто мост к данным из десятка других объектов. У него вообще полей нет. А все проперти хоть и публичные, но вычисляемые. Какой тут индекс приват полей? Не пахнет тут им. А индексить надо. И учитывать изменения прецедентов тоже надо. Собираюсь сделать, но это даже не второй приоритет работы. У меня интерес к этой БД шкурный. Делаю в первую очередь то , что нужно мне лично для тех приложений, для который я ее ваяю. Остальные увы ждут в очереди. Вот если бы на комерческую основу разработку перевести — тогда совсем дело другое. Но это тогда дело сооовсем другое.
Re[23]: Файловые системы, файлы, приложения - устаревшие кон
Здравствуйте, shuklin, Вы писали:
S>Здравствуйте, Max.Subpixel, Вы писали:
MS>>Да вы уже давно себе решили — поддерживать индексы свойств нельзя, значит поля публичные и на них придется полагаться. И все — инкапсуляция долой и все с ней связанное. И опять работа со статичными данными вместо свойств. Могли бы подумать о динамическом реинжиниринге кода поисковых предикатов для работы с индексами прайват полей, но не стали... А теперь уж поздно все выбрасывать — новая версия как никак.
S>Ващето есть идеи на этот счет. Но если вы ходили по указанной ссылке, и читали описание — там понаписано в ограничениях горааздо более серьезных вещей чем инкапсуляция. Например, текущая опубликованная версия — однопользовательская desktop ((((
Да, я видел. Это как-раз пол беды. А вот ошибочная концепция — это увы.
S>Как можно догадаться, на все направления работ меня одного не хватат. Да и большие БД большие коллективы не раз в месяц выпускают. Так что индексов в ближайшем будущем не будет. Если оно надо — каждый девелопер будет волен сериализовать хэштайбл как персистент экземпляр. и усе.
Ну без индексов вы вообще не уедете никуда. Хранилище без поиска вообще не нужно.
S>А вот с приват полями и с индексами работать имхо смысла нет. Допустим есть у нас экземпляр объекта в котором только методы — он просто мост к данным из десятка других объектов. У него вообще полей нет. А все проперти хоть и публичные, но вычисляемые.
Ну и что? В других-то объектах есть поля — вот по ним и индексы...
S> Какой тут индекс приват полей? Не пахнет тут им. А индексить надо. И учитывать изменения прецедентов тоже надо.
Учитывать надо изменения полей.
S>Собираюсь сделать, но это даже не второй приоритет работы. У меня интерес к этой БД шкурный. Делаю в первую очередь то , что нужно мне лично для тех приложений, для который я ее ваяю. Остальные увы ждут в очереди. Вот если бы на комерческую основу разработку перевести — тогда совсем дело другое. Но это тогда дело сооовсем другое.
Ну и правильно. Делайте для себя и не тратьте время на чужое время — все равно все для себя. Другим оно вряд-ли пригодится.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Best Regards. Max.
Re[19]: Файловые системы, файлы, приложения - устаревшие кон
Здравствуйте, Max.Subpixel, Вы писали:
MS>Здравствуйте, shuklin, Вы писали:
MS>Ну без индексов вы вообще не уедете никуда. Хранилище без поиска вообще не нужно. MS>Ну и что? В других-то объектах есть поля — вот по ним и индексы... MS>Учитывать надо изменения полей.
Как раз для шкурных интересов свойства нужны прямопротивоположные. А перечисленные бесполезны.
MS>Ну и правильно. Делайте для себя и не тратьте время на чужое время — все равно все для себя. Другим оно вряд-ли пригодится.
Уже есть прециденты обратного.
Re[24]: Файловые системы, файлы, приложения - устаревшие кон
Здравствуйте, shuklin, Вы писали:
S>За линк спасибо! Только он уже стоил всего этого бедлама. В ближайшем времени результатов не обещаю. Сами понимаете почему.
Пожалуйста. И сравните потом навскидку с db4o или Perst. Правда без индексов там ничего не светит даже на старте...
Кстати Perst тоже 1 человеком делается в свободное время (а по производительности бьет всех подряд с головой), так что тоже не показатель, что вы 1...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Best Regards. Max.
Re[11]: Файловые системы, файлы, приложения - устаревшие кон
Здравствуйте, IT, Вы писали:
IT>Точные данные чего? Того что ООП не работает в распределённых системах и в ООБД? Ты понимаешь в чём дело, если нет таких данных, то они никак не могут быть точными. Есть данных, что где-то кто-то когда-то от кого-то слышал или даже видел глазами расказчика про то, что ООП вдруг успешно применился в суперраспределённой среде и ООБД. По таким слухам сложно собрать точные данные, так что извини
Игорь, угадай на чем построена самая большая в мире база данных(подсказываю, это не РСУБД).
IT>Интернет — это глобальная распределённая сеть. И глобальная и распределённая, т.е. то о чём ООП может только продолжать мечтать. И заметь, это работает и ни мне ни тебе это не надо доказывать. Мы оба знаем что это так.
Во первых, отчего же все меньше баз опубликовано в интернете, и все больше SOA? Реляционка как серьезная распределенная база данных — практически неприменима.
a) она не может делать удобоваримый интерфейс
б) она не может идентифицировать данные
В первом случае получаем проблему использования, во втором случае, получаем большой гемморой с репликацией.
Так что то, что глобально распределенные реляционки удобны (миф).
Д>>Во вторых, основа интернета — гипертекст — это все равно ООП в чистом виде
По моему вы все тут начали путать программирование на ООП, и модель данных ООБД. Это разные вещи в которых совершенно разные проблемы и разные подходы. Это все равно что сравнить утюг и рубашку которую ты гладишь.
Re[18]: Файловые системы, файлы, приложения - устаревшие кон
Здравствуйте, Дарней, Вы писали:
Д>для начала давай уточним, какие из современных ЯП?
На смолтолк не претендую, достаточно шарпа.
Д>к тому же наследование — далеко не обязательный пункт
Не обязательный для чего?
Д>фактически, для соответствия ООП требуется всего два пункта — инкапсуляция и полиморфизм (полиморфизм != virtual method).
И? Суть-то в том, что у него инкапсуляции нет полиморфизм тоже странный, а все туда же — "объекты", медом на них намазано что ли?
... [RSDN@Home 1.2.0 alpha rev. 619]
Мы уже победили, просто это еще не так заметно...
Re[18]: Файловые системы, файлы, приложения - устаревшие кон
Здравствуйте, Дарней, Вы писали:
Д>ну ты уж определись хотя бы.
С чем? Свою точку зрения я изложил, что-то непонятно?
Д> Или есть непреодолимые проблемы, и тогда ООП действительно ничего хорошего не светит, или их нет.
Где я хоть слово говорил про непреодолимые проблемы? Помоему я достаточно четко пояснил что я имел ввиду, читай до просветления.
Д>излагать неясно запутанные мысли != мыслить абстрактно
Это да. Расскажи, заодно, как можно "неясно запутать мысли"...
Д>если ты не в состоянии сгенерировать простой и ясный пример
Я уже нагенерировал достаточно простых и ясных примеров, если они небя не устраивают, то я не виноват...
Д>я еще не оставил надежду, что за твоими словами есть какой-то смысл
Успехов...
Д>объект — это совокупность данных и методов, которые их обрабатывают в соответствии с требованиями. Если требования меняются, то меняются и методы. Тебя в этом что-то удивляет?
Меня это не удивляет, меня удивляет зачем при этом методы хранить вместе с данными, таким образом, чтобы до данных в обход этих методов добраться было нельзя. Ведь хранить данные отдельно гораздо проще и гораздо меньше проблем при изменении.
Д>сырые данные и так всегда есть. Внутри объектов.
Только доступа к ним нет, а мне доступ нужен, чтобы новые объекты создать.
Д> Зачем создавать дополнительное представление данных?
Во-во. Объекты это как раз и есть представление данных, о чем я собственно и писал, так зачем оно нужно?
Д>с каким конкретно сохранением?
С любым.
Д> Сериализацией в файл?
Да.
Д> Маппингом объектов на РБД?
Да.
Д> Сохранением объектов в ОБД?
Да.
Д> Какие конкретно проблемы?
Везде разные.
Д>Где ты здесь видишь проблему?
В необходимости паковать, создавать промежуточный объект для пересылки, сериализовывать/десериализовывать, ect..
Д>проблемы есть
Я сказал, что у ОО есть проблемы, ты сначала начал возражать, но потом все таки признал. Вот давай на этом и завершим.
Д> Мы здесь обсуждаем перспективу, не так ли?
Мы здесь, вот конкретно здесь, обсуждаем область применимости ОО.
Д>какие? ORM, что ли?
Кто сказал ORM? Как раз наоборот, отказаться от всяких ORM и прочих объектов и работать с плоскими данными.