powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как выбрать из базы коллекцию объектов?
15 сообщений из 90, страница 4 из 4
Как выбрать из базы коллекцию объектов?
    #34279418
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FuzzyПохоже, у Фаулера действительно полезная книга. Скажите, пожалуйста, в ней жёстко си-шарп рассматривается, или в общем? А есть где-нибудь на сети, чтоб скачать?

В сети по-моему в свободном доступе есть на английском, на сайте автора.
Рассматривается все "в общем", примеров на java даже больше по-моему.

Роман, а зачем я должен буду повторно мапить записи на объекты? Можно пример, чтоб я понял?
я так понял по следующему:
Fuzzyи сразу на ходу создаём объекты
Потом, как вы тогда будете синхронизовать recordset c объектами? Держать и рекордсет и глобальную кеш-коллекцию... зачем?
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34279453
Fuzzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман, наверное, я лучше сперва почитаю Фаулера...
потом вернёмся к обсуждению, ок?
Потому что пока даже вопроса не могу понять: вот у меня данные в базе, возникла необходимость выбрать на клиента все документы по определённому критерию. Вот я их и выбрал, у меня есть их коллекция, а рекордсеты я бросил после загрузки, зачем они мне? Понятно, что "один и тот же" объект я не буду несколько раз создавать -- если он уже загружался, буду использовать имеющийся инстанс.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34282381
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaТебе здесь не раз объясняли, что в БД объекты не хранятся.

Есть паттерн проектирования Memento - хранитель. Он позволяет отчуждать состояние объекта Originator в объект Memento и помещать его в БД для последующего восстановления состояния исходного объекта Originator. Объект Originator не хранится в БД. Там хранится объект Memento или, если угодно, его копия.

Современные СУБД и API позволяют сосредодочиться на проектировании класса Originator. Класс Memento и соответственно тип записей в таблице БД можно получить почти автоматически из спецификации класса Originator. Механизмы получения объекта Memento из объекта Originator, сохранения его в БД, и обратная процедура реализованы на уровне библиотек, так что проектировщик может отождествлять классы Memento и Originator даже на очень низком уровне абстракции. В данном случае автор опустился ниже этого уровня.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34290868
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab, непонятно, но здорово!!!Использование паттерна Momento в подобном контексте я нигде не видел.Какие механизмы, какие API, какие обратные процедуры?Если они тождественны, то зачем нужны эти усложнения?С нетерпением жду продолжения.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34290982
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVamcureenab, непонятно, но здорово!!!Использование паттерна Momento в подобном контексте я нигде не видел.Какие механизмы, какие API, какие обратные процедуры?Если они тождественны, то зачем нужны эти усложнения?С нетерпением жду продолжения.

Не Momento, Memento, от memory (или наоборот).

Механизмы системы проектирования. Тот же самый MS Visio в UML моделях позволяет тэгировать атрибуты класса приложения (класс Originator в паттерне Memento) признаком persistent, так что генератору схемы БД ясно, какие таблицы и поля (класс Memento в одноимённом паттерне) нужно унаследовать из диаграммы статической структуры и нет надобности моделировать БД руками.

API для доступа к БД, который обеспечивает постоянство (persistence) объекта, т.е. сохранение состояния объекта в БД в процессе сброса кэш и восстановление этого состояния из БД в кэше в процессе разъименовывания объектной ссылки.

Усложнения возникают, когда мы проектируем БД и классы приложения руками. Современный подход позволяет думать о постоянстве объекта приложения не вникая в механизмы, которые это постоянство обеспечивают.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34291239
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, ты уж совсем буквоед."Банда четырех" -настольная книга.Палец не там застрял.
Сразу становится неинтересно.На мой взгляд, трудности возникают, как раз при таких методах проектирования.Уж слишком много в них ограничений, а когда на запросы посмотришь, совсем дурно становиться.Флейм на эту тему поднимать не будем, это моя точка зрения и я ее никому не навязываю.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34291283
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Область молодая, потому косяков вней встречается изрядное количество, сособенно при попытках скрестить бульдога с носорогом.
Чтобы от запросов не было дурно, СУБД должна поддерживать объектное расширение SQL. Проектировать классы нужно с учётом возможностей платформы. И т.д. и т.п. Скажем так, от повсеместного применения этого подхода в коммерческих приложениях БД я пока воздержусь. Для разработки экранных форм объектные навороты явно лишние (кроме тех объектов-компонентов, что встроены в среду разработки/выполнения). В приложениях со сложной пакетной обработкой данных они могут быть полезными, хотя бы для правильного кэширования данных.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34292690
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenabУсложнения возникают, когда мы проектируем БД и классы приложения руками. Это смотря с чьей точки зрения "усложнения". С т.з. низкоквалифицированного ООП кодера отдельное проектирование базы - безусловно "усложнение", он в этом все равно ничего не понимает. С т.з. нормального архитектора - база и "классы приложения" могут и должны рассматриваться отдельно хотя бы потому, что с базой зачастую работает не одно приложение
mcureenabСовременный подход позволяет думать о постоянстве объекта приложения не вникая в механизмы, которые это постоянство обеспечивают. опоздали вы с "современным подходом" Мода на MDA уже прошла. Сейчас SOA модно.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34292912
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey KudinovМода на MDA уже прошла. Сейчас SOA модно.
MDA и SOA НЕ являются взаимозаменяющими подходами, скорее они могут дополнять друг друга. SOA - взаимодействие. MDA - разработка приложений, управляемых моделью.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34292996
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман ДынникSOA - взаимодействие. MDA - разработка приложений, управляемых моделью. И да и нет. В случае MDA разработка идет "от модели", в случае SOA [в значительной части] "от сервисов". Т.е. SOA - это взаимодействие конечно, но взаимодействие весьма значительно влияющее на архитектуру приложения.

Я их сравнивал в плане новизны тенденций в проектировании. Не в плане взаимозаменяемости.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34293105
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey KudinovС т.з. нормального архитектора - база и "классы приложения" могут и должны рассматриваться отдельно хотя бы потому, что с базой зачастую работает не одно приложение


Полагаю, тут речь идёт о разделении класса спецификации и класса реализации. Чтобы объект оставался целостным его методы должны работать одинаково независимо от места развёртывания этого объекта. В идеальном случае класс реализуется только в одном компоненте системы, поэтому работает одинаково во всех её приложениях.

Усложнять классы постоянных объектов нет смысла. Как правило такие классы моделируют сущности, а сущности по определению не имеют поведения. Поведение определяют классы-агенты, которые реализуют бизнес-правила и службы системы.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34293188
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Kudinov Роман ДынникSOA - взаимодействие. MDA - разработка приложений, управляемых моделью. И да и нет. В случае MDA разработка идет "от модели", в случае SOA [в значительной части] "от сервисов". Т.е. SOA - это взаимодействие конечно, но взаимодействие весьма значительно влияющее на архитектуру приложения.


Так SOA, это и есть архитектура, точнее принцип построения. Только SOA это архитектура самой системы, а MDA архитектура разработки системы.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34293192
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOA - архитектура взаимодействия, MDA - чистое проектирование предметной области и создание приложения по модели.
Так или иначе, опираясь или не опираясь на SOA, нужна модель предметной области, для управления которой по большому счету и существует MDA. С сообщениями/контрактами SOA напрямую (по-хорошему) приложения не должны работать. Бизнес-логика работает с объектами предметной области, объекты предметной области передаются слою ServiceAgents, которые обращаются к соответствующим сервисами, транслируя объекты в сообщения, DataContract...
Т.о. если разработка идет от сервисов, все равно необходим двусторонний маппинг сообщений сервисов на объекты предметной области. Работать напрямую с сервисами, это все равно что использовать запись recordset-а в качестве бизнес-объекта.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34293215
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenabТолько SOA это архитектура самой системы, а MDA архитектура разработки системы.
Это уже более реальное утверждение.
...
Рейтинг: 0 / 0
Как выбрать из базы коллекцию объектов?
    #34295401
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, с удовольствием читаю данный топик!!!
Много модных и умных слов, но за частоколом терминологии не понятно, что скрывается.То Originator тождественен Memento, то в БД живут объекты, то разработка ведется от сервисов и тд.
Перечитываю по три раза,ничего не понимаю, еще читаю, но эффект тот же.
Продолжайте в том же духе. С интересом буду наблюдать продолжение.
...
Рейтинг: 0 / 0
15 сообщений из 90, страница 4 из 4
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как выбрать из базы коллекцию объектов?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]