|
|
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
skyANA, ну опять же - вы пишете про серверный контроллер, а у меня - все компоненты - клиентские - и модель и контроллер и вью тудаже! модель знает где она на сервере данные берет и тихо туда ходит по надобности - контроллер типа рулит там всем и все вродебы было хорошо- но тут вот вьюмодели!!! они нихрена не знают и не умеют - кто-то должен за них знать и уметь причем желательно универсальным образом, а не каждый раз от фонаря придумывать адрес с параметрами для получения данных... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 20:25:43 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
skyANAspт.е. у вас получается в контроллере жестко прописан адрес и параметры этой ВьюМодели и для каждого такого случая нужно все делать снова вручную и каждый раз по-новому!? Не понял, какой адрес, какие параметры ViewModel в контроллере? Дружеская беседа космонавта, подводника и марсианина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 20:45:45 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
По большому счёту в JavaScript не нужна какая-то ViewModel. А для универсальности могу посоветовать использовать события. К примеру почитайте статью: И опять про MVC . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 20:46:02 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
МСУНе понял, какой адрес, какие параметры ViewModel в контроллере? Дружеская беседа космонавта, подводника и марсианина. [/quot]Ну дак ни слова не было про то, что парень применяет MVC в JavaScript :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 20:48:15 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
МСУДружеская беседа космонавта, подводника и марсианина. Марсианину ближе космонавт, вроде даже тема общая - космос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 20:49:02 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
skyANAНу дак ни слова не было про то, что парень применяет MVC в JavaScript :) Он не там траву берёт, что мы Аааа... пацталом блин ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 20:50:14 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 20:53:47 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
Кстати есть же готовый JavaScript MVC framework для тех, кто подсел на jQuery :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 23:29:15 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 23:58:38 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
skyANAКстати есть же готовый JavaScript MVC framework для тех, кто подсел на jQuery :) Их уже куча - Backbone, Knockout и десятки других ) но это не отменяет проблемы MVC на клиентской стороне - разруливать то что у вас под носом, а у нас за километры Конечно - ежели рядом с кухней воевать поваром - то не слабо и бочку скашей перетащить на пару десятком метров к батальйону чтоб его накормить, а ежели за 30 км от кухни ??? тарелками легко тащить, да много не натаскаеш, а бочку на трети пути не осилиш Вам которые под кухней - легко издевацца на бедными воинами на передовой за N-цать км от кухни! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 00:03:02 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
в общем я решил использовать для грида обычные модели, только недокармливать их, чтоб не такие жирные были :) а остальные вьюхи снабжать полноценно оформленными моделями, а то с вашими вьюмоделями на клиенте сильно не разгонишся! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 00:05:32 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
spТеперь под каждый чих еще нужно создавать кучу разных вариаций оригинальной модели (пусть это будут ВьюМодели) и писать под них кучу кода на стороне сервера и клиента? Domain Model, ViewModel, PostModel. Надо. Но не обязательно. Но надо. Прочитайте Дино Эспозито по MVC, он паттерн очень хорошо разобрал и отличия от других привел и уточнил почему asp.net MVC больше model2. http://msdn.microsoft.com/en-us/magazine/dd252940.aspx#id0080053 - коротенько. Но лучше найдите и прочтите всю книгу(на одном известном трекере их аж первая и вторая редакция есть, и в первой редакции есть глава "How many models do you know?", которая хорошо освещает вопрос, заданный в шапке). Точнее можно до середины. Она меньше 500 страниц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 07:49:38 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
Если конкретно, то там говорится, что стандартная структура папок: model controller view сбивает с толку. Потому что model нужно было назвать ViewModel. (но это уже выше объяснили). В принцыпе, передавая полную DomainModel (например, из EF) во View она клиенту не уходит, но идеологически не очень хорошо, особенно, когда в ряде случаев нужна обертка нескольких DomainModel в одну. Получится каша: то есть обертка, то нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 07:55:27 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
spв общем я решил использовать для грида обычные модели, только недокармливать их, чтоб не такие жирные были :) а остальные вьюхи снабжать полноценно оформленными моделями, а то с вашими вьюмоделями на клиенте сильно не разгонишся!Вы статью-то прочитали? :) В какой-то момент (по готовности окна к примеру) Ваш грид (вью) генерирует событие "Загрузите список того-то". Контроллер подписан на это событие и дёргает модель (к примеру метод list); Модель запрашивает сервер (или что там у Вас); Перед загрузкой данных модель генерирует событие "Список загружается", Вью подписано на это событие и отображает к примеру гифку с крутящимися шариками и надписью "Wait"; Модель получает данные от сервера в виде JSON (полный он у Вас, или нет - это Вам решать) и генерирует событие (или дёргает обсёрверы как в статье) куда и передаёт полученные данные; Вью обрабатывает событие "Список загружен", в аргументах которого JSON, выполняет рендеринг, снимает гифку с шариками. Далее пользователь тыкает на определённую строку, открывается другое Вью, что генерирует событие "Загрузите-ка мне запись по идентификатору", если у Вас JSON не полный; Контроллер ... и дёргает модель (уже метод getItem(id)); Далее тот же контур, только события и реакции другие... Т.к. мы ничего не кэшировали, то модели остались стройными :) И где тут наши вьюмодели, что Вас тормозят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 08:27:58 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
Личное мнение: MVC на Javascript - по меньшей мере параноя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 09:11:04 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
МСУЛичное мнение: MVC на Javascript - по меньшей мере параноя.А в чём параноя-то? Основная идея - это реализовать слабое связывание в случае rich интерфейса, что строится средствами JavaScript. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 09:48:46 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
skyANAА в чём параноя-то? Основная идея - это реализовать слабое связывание в случае rich интерфейса, что строится средствами JavaScript. 1. Параноя в том, что js - это динамический язык без типизации. 2. Параноя в том, что клиент легко и непринужденно поддается атаке. И строить бизнес-логику на js - самоубийство. 3. Адекватные люди строят слабое связывание в случае rich интерфейса и не в случае rich интерфейса - на сервере. 4. Так же не забываем про рефакторинг кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 10:05:22 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
Хорошо :) Давайте сузим круг применения: rich интерфейс в административной части сайта. К примеру вашей странички в iGoogle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 10:26:30 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
Вообщем адекватные люди применяют различные паттерны в различных частях приложения, а не только MVC везде :) И если им надо реализовать свой facebook в плане интерфейса, то они и в JavaScript'е применяют некую архитектуру :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 10:32:30 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
я для себя этот вопрос решил следующим образом. Использую Domain Driven Design. У меня например есть доменный клас User. Для просмотра /редактирования юзера у меня есть MVC модель EditUserModel, для просмотра списка юзеров - UserListModel. И еще я вынес бизне-логику из контролеров в отдельный слой. наконец-то я осознал всю прелесть DI и напрочь забыл о всяких фабриках. так что при желании легко могу перейти с MVC на web или win формы ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 10:48:49 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
alneo, какие win формы? :) API и интеграция с мобильными платформами (шмайфонами всякими и шмайпадами). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 10:54:47 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
skyANAХорошо :) Давайте сузим круг применения: rich интерфейс в административной части сайта. К примеру вашей странички в iGoogle. Да фигня это всё. В реальных условиях (а не сферически вакуумных) городить огород на js в разрезе mvc - клиника. skyANAВообщем адекватные люди применяют различные паттерны в различных частях приложения, а не только MVC везде :) У нас тред по MVC, за него и дискутируем. Будет тред по MVVM, будем и про него вещать. alneoтак что при желании легко могу перейти с MVC на web или win формы ;-) Вы, случаем, не дедушка Римус? Очень любим в детстве читать его сказки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 10:58:58 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
МСУ, то есть Вы намекаете на то, что в js следует применять другую архитектуру? Какую лично Вы предлагаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 12:44:52 |
|
||
|
MVC,MVVM: одна сущность, разные виды - одна модель?
|
|||
|---|---|---|---|
|
#18+
skyANAМСУ, то есть Вы намекаете на то, что в js следует применять другую архитектуру? Какую лично Вы предлагаете? "Архитектура" - обычное функциональное программирование на клиенте с помощью JQuery фреймворка. За глаза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 13:09:13 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37671216&tid=1359897]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
62ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 390ms |

| 0 / 0 |
