|
|
|
Entity Framwork + WPF + MVVM, как правильно добавить слой бизнес логики
|
|||
|---|---|---|---|
|
#18+
Пересмотрев много материала по новым технологиям от Майкрософт задался таким вот вопросом. На сколько я себе представляю, архитектура приложения в этом случае будет выглядеть примерно следующим образом: Представление (WPF xaml) <-> Модель Представления <-> Модель (Entity Framework). Но вопрос в том, где в этом случае расположить уровень бизнес логики? К примеру, по бизнес правилам добавление новой строки в таблицу, должно заменяться обновлением существующей строки, если определенный набор полей у новой и существующей строки совпадает. Или каждая операция в системе, должна приводить к созданию записи в таблице истории. И т.п. Плюс для каждого метода бизнес логики необходимый набор простых операций над БД должен быть обвернут в транзакцию. Как я понимаю, размещать такую логику в Модели Представления не совсем логично, т.к. в ней находится логика больше относящаяся к интерфейсу. Может кто нибудь сможет порекомендовать примеры, как наиболее лучшим образом встроить прослойку бизнес логики между классами сгенерированными Entity Framework и собственно моделью представления? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2010, 19:32 |
|
||
|
Entity Framwork + WPF + MVVM, как правильно добавить слой бизнес логики
|
|||
|---|---|---|---|
|
#18+
сам такое не делал , но есть такая мысль: для подобной цели неплохо подходит слой контроллеров, для веба (ASP.NET) делал приложение по MVP, так вот от презентера ( в данном случае это была бы модель представления) все действия перенаправлялись к контроллерам ( типа Application Controller): там и можно было централизированно сгруппировать элементарные сервисные операции, наложить на них декларативно трансакции и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 16:15 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=36674111&tid=1351257]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
3ms |
| others: | 230ms |
| total: | 461ms |

| 0 / 0 |
