powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / MVVM без ORM
25 сообщений из 43, страница 1 из 2
MVVM без ORM
    #38394112
bdfyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой вопрос: по правильному, если не использовать ORM, запросы к базе должны выполняться на уровне модели?
...
Рейтинг: 0 / 0
MVVM без ORM
    #38394245
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bdfyyТакой вопрос: по правильному, если не использовать ORM, запросы к базе должны выполняться на уровне модели?Нет, на уровне конкретной реализации репозитоия
А это обычно data layer (data access layer, data mapping layer). Но если хотите по быстрому, можете и в модель запихать.
...
Рейтинг: 0 / 0
MVVM без ORM
    #38394246
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложения WPF с шаблоном проектирования MVVM. Модель данных и репозиторий.
Джош СмитДанные должны откуда-то приходить и где-то храниться. В этом приложении экземпляр класса CustomerRepository загружает и хранит все объекты Customer. Так получилось, что он загружает данные клиентов из файла XML, но вообще
тип внешнего источника данных несущественен. Данные могу поступать из базы данных, веб-службы, именованного канала, файла на диске или от почтовых голубей: это просто не имеет значения.
Если у вас есть объект .NET с данными, независимо от того, откуда они, шаблон MVVM может вывести эти данные на экран.
...
Рейтинг: 0 / 0
MVVM без ORM
    #38394447
bdfyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!

skyANAНет, на уровне конкретной реализации репозитоия
А это обычно data layer (data access layer, data mapping layer). Но если хотите по быстрому, можете и в модель запихать.
Значит правильно мыслю

skyANA Приложения WPF с шаблоном проектирования MVVM. Модель данных и репозиторий.
Читал, тяжеловато пока переваривается и не все складывается в "стройные ряды", надо еще раз перечитать, может после сейчас лучше сложится
...
Рейтинг: 0 / 0
MVVM без ORM
    #38394755
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAbdfyyТакой вопрос: по правильному, если не использовать ORM, запросы к базе должны выполняться на уровне модели?Нет, на уровне конкретной реализации репозитоия
А это обычно data layer (data access layer, data mapping layer). Но если хотите по быстрому, можете и в модель запихать.
Я в button1_Click всегда делаю - работает! ))

skyANA Приложения WPF с шаблоном проектирования MVVM. Модель данных и репозиторий.
Джош СмитДанные должны откуда-то приходить и где-то храниться. В этом приложении экземпляр класса CustomerRepository загружает и хранит все объекты Customer. Так получилось, что он загружает данные клиентов из файла XML, но вообще
тип внешнего источника данных несущественен. Данные могу поступать из базы данных, веб-службы, именованного канала, файла на диске или от почтовых голубей: это просто не имеет значения.
Если у вас есть объект .NET с данными, независимо от того, откуда они, шаблон MVVM может вывести эти данные на экран.
Из-за старости это уже во многом вредная статья. Её править и улучшать давно надо. Например, про этот самый ORM не сказано. Я раньше, как дурак, делал репозиторий поверх ORM, сгенеренной EF. Или ещё вот там строками имена параметров передаются, когда давно уже можно написать через выражения и лямбды. И ещё, наверняка, есть нюансы. Я бы советовал более современный и подробный вариант http://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx (и ещё 6-я глава там... и вообще лучше там всё прочитать).
...
Рейтинг: 0 / 0
MVVM без ORM
    #38394761
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, офигенно, что они сделали бесплатную книгу в ПДФ с гиперссылочным оглавлением и подсвеченным кодом. Когда инета нет.
...
Рейтинг: 0 / 0
MVVM без ORM
    #38394767
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320бесплатную
Ой, ошибся. Но найти не проблема. ))
...
Рейтинг: 0 / 0
MVVM без ORM
    #38394814
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Я в button1_Click всегда делаю - работает! ))Тро-ло-ло. батон клик в WPF, пошутил, так пошутил
user7320Из-за старости это уже во многом вредная статья. Её править и улучшать давно надо. Например, про этот самый ORM не сказано. Я раньше, как дурак, делал репозиторий поверх ORM, сгенеренной EF.Дак так и надо. И раньше и сейчас.
...
Рейтинг: 0 / 0
MVVM без ORM
    #38394816
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.: иногда лучше жевать, чем говорить.
...
Рейтинг: 0 / 0
MVVM без ORM
    #38394818
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bdfyyСпасибо!

skyANAНет, на уровне конкретной реализации репозитоия
А это обычно data layer (data access layer, data mapping layer). Но если хотите по быстрому, можете и в модель запихать.
Значит правильно мыслюА как именно: в сторону data layer или "по быстрому"?
...
Рейтинг: 0 / 0
MVVM без ORM
    #38394891
bdfyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА как именно: в сторону data layer или "по быстрому"?
Код: plaintext
1.
2.
3.
4.
5.
6.
    View
      |
 ViewModel
      |
   Model
      |
Data Access

Собственно, если я все правильно понимаю, "ViewModel" запрашивает у "Data Access" объекты "Model"
"Model" - ничего не знает об остальных
"Data Access" - осуществляет загрузку данных и сохранение
...
Рейтинг: 0 / 0
MVVM без ORM
    #38394925
bdfyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320... Я бы советовал более современный и подробный вариант http://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx (и ещё 6-я глава там... и вообще лучше там всё прочитать).
user7320Кстати, офигенно, что они сделали бесплатную книгу в ПДФ с гиперссылочным оглавлением и подсвеченным кодом. Когда инета нет.user7320user7320бесплатную
Ой, ошибся. Но найти не проблема. ))
Там в Source вроде была chm этого дела, а еще на хабре есть перевод: http://habrahabr.ru/post/176851/
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395013
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bdfyyа еще на хабре есть перевод: http://habrahabr.ru/post/176851/
По-русски читать - только время зря терять. ))
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395296
bdfyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще такие вопросы возникли:
- в какой момент ORM обычно обновляет данные в модели, если приложение многопользовательское. т.е. несколько пользователей используют один и тот же набор объектов (например, подгруженных из БД), один изменил объект, когда узнают остальные клиенты.
- как обычно организовывается работа с объектом в разных окнах, одного приложения. Окна могут быть показаны в разной последовательности или одновременно. Хочется иметь один экземпляр модели для обоих окон или это не верно? (вопрос наверно не для этой ветки)
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395297
bdfyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320По-русски читать - только время зря терять. ))
Согласен, но на начальном этапе, и не полностью свободном английском, неплохое подспорье
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395309
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bdfyy- в какой момент ORM обычно обновляет данные в модели, если приложение многопользовательское. т.е. несколько пользователей используют один и тот же набор объектов (например, подгруженных из БД), один изменил объект, когда узнают остальные клиенты.После вызова метода Refresh :) О какой ORM речь?
bdfyy- как обычно организовывается работа с объектом в разных окнах, одного приложения. Окна могут быть показаны в разной последовательности или одновременно. Хочется иметь один экземпляр модели для обоих окон или это не верно? (вопрос наверно не для этой ветки)Хотите - имейте. Можете реализовать Registry (Реестр) , а можете по простому.
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395331
bdfyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA...О какой ORM речь?
В том-то и беда что придется самому писать эти механизмы
skyANA... а можете по простому.
это как?
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395412
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bdfyyЕще такие вопросы возникли:
- в какой момент ORM обычно обновляет данные в модели, если приложение многопользовательское. т.е. несколько пользователей используют один и тот же набор объектов (например, подгруженных из БД), один изменил объект, когда узнают остальные клиенты.
- как обычно организовывается работа с объектом в разных окнах, одного приложения. Окна могут быть показаны в разной последовательности или одновременно. Хочется иметь один экземпляр модели для обоих окон или это не верно? (вопрос наверно не для этой ветки)
https://www.google.ru/?gws_rd=cr&ei=wHUyUuzoF-mk4gS6tICQDA#newwindow=1&q=entity framework concurrency
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395413
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это как пример.
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395415
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Скайана имел ввиду ещё и свой репозиторий с конкуренцией и прочими плюшками, то я не зря сказал, что "я как дурак реализовывал". Тут тема недавно была по обсуждению своего репозитория, из которой я вынес вывод, что для простых и даже средних приложений ORM, создаваемое EF, вполне сойдёт за репозиторий. А если по-нормальному реализовывать, то это "не для средних умов". В смысле, опыт нужен, и вообще. Если что, классы ORM у EF являются частичными (парциальными), так что можно дописать свою функциональность в других файлах, не боясь, что при перегенерации ORM весь ваш код будет потерян.

А у Джоша Смита приведён пример репозитория ну очень простого. Такого, который в реальной жизни не нужен, т. к. даже хуже энтитифреймворковского ORM. Это у него была такая "затычка", т. к. цель-то была не про репозиторий рассказать, а про MVVM. Для реализации репозитория есть спецстатьи, которые обычно объединяются с шаблоном Unit Of Work и т. д. И опять же, там обычно всё сильно просто. Настолько, что ORM от EF с возможностью дописывания парциальных классов опять тут может служить вполне нормальной заменой, а чаще всё равно превосходит по возможностям.

Так что или писать нормально (на что у вас уйдёт больше месяца, и то, если вы с опытом), или пока забыть о самописных и пользоваться готовыми ORM.
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395419
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bdfyyuser7320По-русски читать - только время зря терять. ))
Согласен, но на начальном этапе, и не полностью свободном английском, неплохое подспорье
С таким подходом начальный этап никогда не кончится. ))
Я учился читать (пока всего лишь читать, ибо разговор и письмо это не одно и то же, что читать - это я делаю гораздо хуже) именно при "не полностью свободном английском". Первый год было трудно, но потом гораздо легче, и чейчас, когда уже третий год практикуюсь, почти свободно (иногда лазию в словарь на планшете-телефоне, с которых и читаю - секундное дело) читаю статьи по научной тематике (научпопу, если точнее - Phys.org и т. п.), программированию, из Википедии и пр. При этом стараюсь именно на английском читать, если есть многоязычный вариант. И с фильмами и прочим лучше делать то же самое. Через нехочу.

А принцип обучения у меня примерно такой же, как когда я русский изучал. Когда я был маленький, я слушал речь родителей и вообще людей, и учился говорить. Подрос и стал читать по складам (выучили дома и в детсаде). В первом классе уже сносно читал, а во втором читал уже всякие романы. Кроме того, большой объём прочтённой литературы, содержащей минимум ошибок (проверенной корректором) улучшает грамотность письма, т. к. зачастую грамотность - простое запоминание шаблонов слов и их употребления. Много читаешь грамотной литературы - много значешь шаблонов. Редко кто про себя проговаривает правило, чтобы определить, как правильно писать тут или там - в основном на запомненных шаблонах написания-употребления всё держится. С английским всё точно также. Разница только в том, что у меня речевая практика почти отсутствует, т. к. мне не с кем разговаривать и носителей языка рядом со мной нет. Но вот чтение я форсировал чрезвычайно, а это уже немало.
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395431
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Если Скайана имел ввиду ещё и свой репозиторий с конкуренцией и прочими плюшками, то я не зря сказал, что "я как дурак реализовывал". Тут тема недавно была по обсуждению своего репозитория, из которой я вынес вывод, что для простых и даже средних приложений ORM, создаваемое EF, вполне сойдёт за репозиторий. А если по-нормальному реализовывать, то это "не для средних умов". В смысле, опыт нужен, и вообще. Если что, классы ORM у EF являются частичными (парциальными), так что можно дописать свою функциональность в других файлах, не боясь, что при перегенерации ORM весь ваш код будет потерян.

А у Джоша Смита приведён пример репозитория ну очень простого. Такого, который в реальной жизни не нужен, т. к. даже хуже энтитифреймворковского ORM. Это у него была такая "затычка", т. к. цель-то была не про репозиторий рассказать, а про MVVM. Для реализации репозитория есть спецстатьи, которые обычно объединяются с шаблоном Unit Of Work и т. д. И опять же, там обычно всё сильно просто. Настолько, что ORM от EF с возможностью дописывания парциальных классов опять тут может служить вполне нормальной заменой, а чаще всё равно превосходит по возможностям.

Так что или писать нормально (на что у вас уйдёт больше месяца, и то, если вы с опытом), или пока забыть о самописных и пользоваться готовыми ORM.Запомни. ORM - это не репозиторий! Тупо по определению.
Ты своими рассуждениями только вводишь неопытных разработчиков в заблуждение.
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395436
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bdfyyskyANA...О какой ORM речь?
В том-то и беда что придется самому писать эти механизмыКакие механизмы? Опишите задачу.
bdfyyskyANA... а можете по простому.
это как?Держать модель в памяти, а во View, где требуется работать с её частью, отдавать эту часть по ссылке.

Если Вы объясните, что за Окна и в какой последовательности они могут открываться, то можно будет что-то сказать конкретнее.
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395465
bdfyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть проект написанный на связке: Delphi + FireBird. Написан по старинке, без ORM с прямыми запросами к БД в окнах.
По разным причинам принято решение Delphi "сменить" на WPF от Микрософта. Базу трогать нельзя, совместимость.

Пробовал натравить на базу EF он вешается, т.е. сгенерить до конца не может. Да и в сгенеренном много чего не хватает.
Все усугубляется тем, что объекты хранимые в таблице могут выступать как схожими так и разными.
Поясню: Есть таблица А и В. В таблице А хранится объект АА, в таблице В объекты ВА и ВВ. Объект ВА может быть контейнером для ВВ, но при этом объект АА может быть контейнером для обеих объектов ВА и ВВ. И с точки зрения объекта АА между объектами ВА и ВВ нет разницы. Причем объекты ВА и ВВ могут хранится в разных базах, которые могут редактироваться независимо в разных местах.
Как натравить NHibernate на базу не понял. По любому понял (на моем уровне знания данных ОRM), что придется многое допиливать руками.

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

Все это конечно упрощенно. Надеюсь, что нормально объяснил. Готов добавить пояснения еще. Спасибо.
...
Рейтинг: 0 / 0
MVVM без ORM
    #38395623
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЗапомни. ORM - это не репозиторий! Тупо по определению.
Ты своими рассуждениями только вводишь неопытных разработчиков в заблуждение.
То, что генерит EF - "как бы репозиторий". Его можно использовать вместо простого репозитория. Как-то так?

Вот тот же Джош Смит, да и другие писатели статей, приводят примеры реализации репозитория со стандартным набором методов получить-записать-удалить-проверитьНаличие-получитьПолныйСписок и т. п. для каждой сущности. ORM от EF содержит то же самое, плюс ещё в пять раз больше, плюс проверен и на баги кучей профи. Ну и чем не репозиторий?
...
Рейтинг: 0 / 0
25 сообщений из 43, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / MVVM без ORM
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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