Хороший пример практики Silverlight-MVVM

В будущем я бы рекомендовал ответить Eran Harel (рефакторинг перемещения new на завод, который можно издеваться). Но если вы не хотите менять исходный код, используйте очень удобную и уникальную функцию: шпионы. Из документации :

Вы можете создавать шпионы реальных объектов. Когда вы используете шпиона, тогда вызываются реальные методы (если только метод не был заглушен).

Настоящие шпионы следует использовать осторожно и иногда, например, при работе с устаревшим кодом.

blockquote>

В вашем случае вы должны написать:

TestedClass tc = spy(new TestedClass());
LoginContext lcMock = mock(LoginContext.class);
when(tc.login(anyString(), anyString())).thenReturn(lcMock);

47
задан R. Martinho Fernandes 27 February 2009 в 09:26
поделиться

4 ответа

В основном ViewModel является оберткой вокруг модели. Теперь, когда еще не могло бы быть очень полезным:-), Думают о модели как о данных Ваши работы приложения с, говорит человек. Теперь у человека есть день рождения, и Вы могли бы хотеть иметь форму для ввода дня рождения человека. Предположим, что мы просто используем простой TextBox, дата разоблачает что-то как 02.01.2009 0:00:00. Для начинающих мы не хотим часть времени, и мы также не могли бы быть к довольному 02.01.2009 частями, поскольку это зависит от Ваших настроек локали.

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

так так сказал, что ViewModel является Образцовой оберткой, конкретно приспособленной к конкретному представлению (дисплей). Это устраняет большую часть IValueConvertors одновременно.

у Josh Smith есть хорошее объяснение здесь: http://joshsmithonwpf.wordpress.com/2008/11/14/using-a-viewmodel-to-provide-meaningful-validation-error-messages и большое обсуждение здесь: http://groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f?pli=1

28
ответ дан Maurice 7 November 2019 в 23:35
поделиться

У Nikhil Kothari есть сообщение о том, как использовать тот шаблон с его Silverlight. Библиотека FX. Проверьте его здесь: http://www.nikhilk.net/ViewModel-Pattern-DLR.aspx

1
ответ дан Guillaume Gros 7 November 2019 в 23:35
поделиться
1
ответ дан 26 November 2019 в 19:56
поделиться

Prism 4.0 теперь включает документацию по созданию MVVM-приложений. Она предназначена для использования библиотек Prism, но концепции работают для паттерна MVVM в целом.

http://compositewpf.codeplex.com/releases

2
ответ дан 26 November 2019 в 19:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: