Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
Используете ли вы такую архитектуру или Ваш проект организован как-то по-другому? - модели данных (классы что генерит EF, L2SQL и другие орм) - модели представления - то, что передается во вьюхи - репозитории где весь фунционал генерящий списки на основе модели данных для модели представления В контроллерах вызываются методы из репозиториев, заполняется модель данных и передается в представление ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2013, 18:20 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
arch2000, авторВ контроллерах вызываются методы из репозиториев, заполняется модель данных и передается в представление А вот встречный вопрос - модель может быть самодостаточной? то есть сама себя заполнять при инициализации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2013, 18:27 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
arch2000В контроллерах вызываются методы из репозиториев, заполняется модель данных модель представления и передается в представление ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2013, 20:48 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
cooldeveloperarch2000В контроллерах вызываются методы из репозиториев, заполняется модель данных модель представления и передается в представление И таким образом контроллер знает о модели - это правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2013, 23:12 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
evgen12345cooldeveloperпропущено... И таким образом контроллер знает о модели - это правильно? А он в общем то и должен знать о модели он ведь ее спускает во вью Код: c# 1. 2. 3. И также получает при Post Код: c# 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2013, 23:40 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
evgen12345И таким образом контроллер знает о модели - это правильно? Шагом марш читать букварь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 00:14 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
cooldeveloperevgen12345И таким образом контроллер знает о модели - это правильно? Шагом марш читать букварь! Да в том то и дело - я этих букварей начитался и теперь каша в голове. Разьясните мне (если не сложно) зачем тогда скрывать модели за вью-моделями. зачем все эти DI если мы получаем сильную зависимость модулей? Я не могу понять как по слоям располагается вся эта архитектура? Как я понял: 1. есть модель данных, например набор классов для CodeFirst и контекст. 2. следующий слой это репозиторий который предоставляет CRUD операции над моделями и возвращает объекты модели. 3. далее идет ViewModel, в идеале создается для каждой Вью и содержит необходимы набор данных который может подтягиваться из разных моделей с учетом различной логики. 4 View в нее передается ViewModel, в контроллере создается ViewModel и передается в представление. Так вот я думал что в идеале пункты 1 и 2 должны быть закрыты от 3 и выше. А перед пунктом 3, есть пункт: 3.a - слой/сервис (назавем его слоем бизнес логики) который скрывает сложности создания бизнес сущности и логику ее обработки. Данный сервис предоставляет методы получения и сохранения ViewModel, так как кроме логика сохранения данных может быть достаточна сложна - данные нужно разложить на сопоставляющие ее объекты модели, установить связи, возможно что то еще. Тогда последовательность будет следующей: 1, 2, 3a, 3, 4. И тогда о модели данных не будет знать представление или это не нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 08:55 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
evgen12345Разьясните мне (если не сложно) зачем тогда скрывать модели за вью-моделями. Модель (она же дата-модель, модель данных, классы датаконтекста) - это обвязка БД, а вью-модель - это класс для представления (валидация, логика и т.д.). Вью-модель может содержать в себе несколько моделей данных, дополнительные коллекции для привязки различных элементов управления (комбобоксы, гриды и т.д.). Только и всего. В самом простом случае можно использовать в качестве вьюмодели саму модель данных. evgen12345зачем все эти DI если мы получаем сильную зависимость модулей? Не вижу никакой зависимости. Есть впраппинг, но не зависимость. DI не панацея, можно с таким же успехом воспользоваться наследованием и хранить экземпляры там. Вот пример . evgen123451. есть модель данных, например набор классов для CodeFirst и контекст. 2. следующий слой это репозиторий который предоставляет CRUD операции над моделями и возвращает объекты модели. 3. далее идет ViewModel, в идеале создается для каждой Вью и содержит необходимы набор данных который может подтягиваться из разных моделей с учетом различной логики. 4 View в нее передается ViewModel, в контроллере создается ViewModel и передается в представление. Всё верно. evgen12345Так вот я думал что в идеале пункты 1 и 2 должны быть закрыты от 3 и выше. А перед пунктом 3, есть пункт: Они и так закрыты от 3. Контроллер обращается к репозитрию, получает дата-модель, перемапливает её во вью-модель и скармиливает представлению. evgen12345И тогда о модели данных не будет знать представление или это не нужно? Что-то я нифига не понял :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 09:22 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
arch2000Используете ли вы такую архитектуру или Ваш проект организован как-то по-другому? - модели данных (классы что генерит EF, L2SQL и другие орм) - модели представления - то, что передается во вьюхи - репозитории где весь фунционал генерящий списки на основе модели данных для модели представления В контроллерах вызываются методы из репозиториев, заполняется модель данных и передается в представлениеНе использую, т.к. мой проект организован по-другому. - доменная модель (классы, выражающие сущности предметной области и классы-сервисы, реализующие бизнес-логику) - модели данных, мапперы - репозитории, что используются в классах-сервисах - модели представления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 10:05 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
cooldeveloper, спасибо большое, стало прояснятся. Получается 3а - это и есть сам контроллер, методы контроллера. авторИ тогда о модели данных не будет знать представление или это не нужно? В этой фразе скрывается мысль -> клиентская часть нечего не знает от том как хранятся данные, о их структуре. А знает только о ViewModel, или этого не нужно добиваться? Еще один вопрос. cooldeveloperНе вижу никакой зависимости. Есть впраппинг, но не зависимость. DI не панацея, можно с таким же успехом воспользоваться наследованием и хранить экземпляры там Что такое врапинг? с ходу в гугле не нашел, можно ткнуть носом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 10:13 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
skyANA- доменная модель (классы, выражающие сущности предметной области и классы-сервисы, реализующие бизнес-логику) - модели данных, мапперы - репозитории, что используются в классах-сервисах - модели представления Так те же яйца, только вид сбоку. evgen12345Что такое врапинг? с ходу в гугле не нашел, можно ткнуть носом? http://ru.wikipedia.org/wiki/Враппер Обёртка по-русски. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 10:21 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
cooldeveloperskyANA- доменная модель (классы, выражающие сущности предметной области и классы-сервисы, реализующие бизнес-логику) - модели данных, мапперы - репозитории, что используются в классах-сервисах - модели представления Так те же яйца, только вид сбоку.Ну не скажи. Данные могут быть распределены: часть в SQL БД, часть в NoSQL БД, часть в каком нить кэше на Couchbase. Репозиторий скрывает то, где они хранятся и как распределены, скрывает модели данных и маппинг, и выдаёт доменные объекты. А у ТС, что выдаёт репозиторий? И где у ТС бизнес-логика, в контроллерах что-ли, или в БД, или в репозиториях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 10:34 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
skyANAНу не скажи. Данные могут быть распределены: часть в SQL БД, часть в NoSQL БД, часть в каком нить кэше на Couchbase. Репозиторий скрывает то, где они хранятся и как распределены, скрывает модели данных и маппинг, и выдаёт доменные объекты. А я тебе про что? Даже ссылку дал , в которой как-раз и говорится о том, что работаем с разными источниками. skyANAА у ТС, что выдаёт репозиторий? И где у ТС бизнес-логика, в контроллерах что-ли, или в БД, или в репозиториях? Еще раз прочти сабжевый пост, там речь о репозитории. Логика - во вьюмоделях или, как вариант, ее можно выносить в отдельный слой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 10:42 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
cooldeveloper, моя твоя не понимает. ТС спросил, я ему ответил. У меня более сложный проект, чем у него. Есть десктоп админка, где можно добавлять, редактировать, удалять данные. Смотреть логи, настраивать параметры. Есть морда на ASP.NET MVC, что красиво отображает динамику изменения данных в виде инфографических виджетов. Также отображение этих виджетов реализовано в клиенте для iOS и в виде Windows Sidebar Gadget. Есть веб-сервис, что отдаёт и принимает данные из внешних систем. Реализован 1С клиент, что работает с этим сервисом. У меня доменная модель ничего не знает о структуре хранения данных в БД, в 1С, где-то там ещё. А у ТС? У него репозитории генерирует какие-то списки на основе модели данных. Что в этих списках, экземпляры классов модели данных, или модели представления? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 13:19 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
skyANAА у ТС? У него репозитории генерирует какие-то списки на основе модели данных. Что в этих списках, экземпляры классов модели данных, или модели представления? У него пока ничего нет, он интересуется как ему жить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 13:30 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
cooldeveloperskyANAА у ТС? У него репозитории генерирует какие-то списки на основе модели данных. Что в этих списках, экземпляры классов модели данных, или модели представления? У него пока ничего нет, он интересуется как ему жить :)Ну дак давай выясним, что за проект он планирует пейсать, прежде чем рассуждать о яйцах и о том, с какого ракурса на них смотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 13:58 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
skyANAcooldeveloperпропущено... Так те же яйца, только вид сбоку.Ну не скажи. Данные могут быть распределены: часть в SQL БД, часть в NoSQL БД, часть в каком нить кэше на Couchbase. Репозиторий скрывает то, где они хранятся и как распределены, скрывает модели данных и маппинг, и выдаёт доменные объекты. А у ТС, что выдаёт репозиторий? И где у ТС бизнес-логика, в контроллерах что-ли, или в БД, или в репозиториях? Вот это я очень долго ждал! Спасибо - теперь все более менее понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 16:07 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
evgen12345skyANAпропущено... Ну не скажи. Данные могут быть распределены: часть в SQL БД, часть в NoSQL БД, часть в каком нить кэше на Couchbase. Репозиторий скрывает то, где они хранятся и как распределены, скрывает модели данных и маппинг, и выдаёт доменные объекты. А у ТС, что выдаёт репозиторий? И где у ТС бизнес-логика, в контроллерах что-ли, или в БД, или в репозиториях? Вот это я очень долго ждал! Спасибо - теперь все более менее понятно.Хм. У Фаулера есть каталог шаблонов , а к нему есть перевод: design-pattern.ru . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 16:37 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
skyANAИ где у ТС бизнес-логика, в контроллерах что-ли, или в БД, или в репозиториях? БЛ должна быть в веб-сервисах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 16:49 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
EDUARD SAPOTSKIskyANAИ где у ТС бизнес-логика, в контроллерах что-ли, или в БД, или в репозиториях? БЛ должна быть в веб-сервисах А морда должна быть на SL! А заказы у Вас такие ещё остались? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 17:06 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
skyANAА морда должна быть на SL! Предпочтительно skyANAА заказы у Вас такие ещё остались? Да, мне сейчас целый завод под SL отдали, развлекайся не хочу Но в том-то и дело что веб-сервисы можно дергать с чего угодно и SL по большому счету здесь не причем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 17:15 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
EDUARD SAPOTSKI, веб сервисы на помойку. Даешь wcf. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 17:18 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
cooldeveloperEDUARD SAPOTSKI, веб сервисы на помойку. Даешь wcf. Дык я про WCF и говорю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 17:22 |
|
||
|
Архитектура
|
|||
|---|---|---|---|
|
#18+
EDUARD SAPOTSKIcooldeveloperEDUARD SAPOTSKI, веб сервисы на помойку. Даешь wcf. Дык я про WCF и говорю... Дык ты говоришь про веб сервисы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 17:25 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38231476&tid=1358501]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 429ms |

| 0 / 0 |
