Бизнес логика проектов под MVVM в WPF? - PullRequest
3 голосов
/ 21 февраля 2011

Я занимаюсь разработкой приложения в wpf с использованием шаблона MVVM, в котором у меня есть сомнения, например, если вы берете студента в качестве модели данных, где я могу добавить бизнес-логику, такую ​​как добавление нового студента и удаление студента и обновление студентаинформация и расчетные оценки и все?

Я имею в виду, подпадают ли все бизнес-логики под MODEL или VIEWMODEL?

Если это в модели, как мы можем это сделать, какой-нибудь пример кода, пожалуйста?Мне нужен полный код для примера!

С уважением и заранее спасибо Karthinalls

Ответы [ 3 ]

4 голосов
/ 21 февраля 2011

Бизнес-логика должна быть частью вашей модели, так как весь этот код должен многократно использоваться на разных технологических платформах.Например, вы можете захотеть повторно использовать ваши модели на веб-сайте в ASP.NET MVC и в настольном приложении в WPF, поэтому не имеет смысла использовать бизнес-логику в ваших моделях представления.

Модели представлений должны содержать логику представления, специфичную для данного конкретного экземпляра приложения.

Как и в случае с кодом, это будет характерно для моделируемой области, поэтому вам нужно будет спроситьболее конкретный вопрос о том, что вы пытаетесь смоделировать.

1 голос
/ 31 декабря 2011

Я бы очень мало доверял тому, что Microsoft говорит о шаблонах, поскольку их статьи часто устарели или модифицированы для поддержки собственных проприетарных платформ или продуктов.Также я обнаружил, что мысли / подходы MS противоречивы в разных командах, а также в общепринятом подходе к программному обеспечению.

Не все это хорошо, и не все это плохо в принципе.

Чтобы ответить на ваш вопрос.Я бы использовал сервис для бизнес-логики.Я бы создал ссылку на него во ViewModel, и я бы не стал вводить какую-либо логику ни в ViewModel, ни в модель, которая не имеет ничего общего с их ролью.т. е. логика представления в порядке, в зависимости от того, что это такое, ее лучше всего поместить во ViewModel, поскольку она сильно привязана к рассматриваемому представлению.То же самое касается модели.

Учитывая эти роли, вы получите масштабируемое и тестируемое приложение.

1 голос
/ 21 февраля 2011

Я предлагаю вам прочитать PRISM документацию по этому вопросу: Глава 5: Внедрение шаблона MVVM .

Даже если вы не планируете использовать PRISM,статья очень хорошо написана и подробно описывает шаблон с точки зрения технологии Microsoft.

...