Что такое «услуги WPF»?

Кто-то сказал мне вответ на вопрос stackoverflow что «две большие пушки» для шаблона MVVM 1)прикрепленное поведение и 2)Сервисы, Я предполагаю, что он имеет в видуУслуги WPF«Фраза, которую я нашел, использовалась следующими способами:

PresentationFoundation.dll определяет типы элементов управления WPF, поддержку анимации и мультимедиа, поддержку привязки данных и другие.Услуги WPF.

Многие из нихУслуги WPF (разделенные события, расширенная привязка данных, стилизация, ресурсы и т. д.) - это лучшие практики разработки программного обеспечения, которые объединяются в один декларативный стек пользовательского интерфейса.

Вы поймете мотивы WPF, изучите синтаксис XAML, изучите основную модель программирования и рассмотрите несколькоУслуги WPF.

Ни в одной из книг WPF я даже не упомянул "службы WPF" как таковые, так что это просто слово, которое означает "Особенности WPF«такие как разъединенные события, богатая привязка данных, стилизация и т. д. или есть что-то еще за термином« WPF Services »?

 Botz300029 мая 2009 г., 16:55
Да, это о функциях. В этом контексте я бы сказал, что «услуги» - это просто модное слово, чтобы оно звучало лучше. Так же, как «пользовательский опыт» и тому подобное.

Ответы на вопрос(2)

Решение Вопроса

а о сервисах приложений. То есть абстрагирование некоторой части функциональности в независимый сервис, который могут использовать несколько виртуальных машин.

 Edward Tanguay29 мая 2009 г., 13:47
Что именно это означает, вы говорите о службе Windows, веб-службе? В статье в Википедии о WPF приведены примеры «сервисов приложений WPF», таких как «пользовательский интерфейс, 2D и 3D рисование, фиксированные и адаптивные документы, расширенная типографика, векторная графика, растровая графика, анимация, привязка данных, аудио и видео». Что бы это значило? msgstr "несколько ViewModels могут использовать привязку данных". Это всегда так. Что стоит за этим словом «службы WPF» и «службы приложений» в этом смысле? Или вы имеете в виду в классическом смысле, например, «службы безопасности»?
 Kent Boogaart29 мая 2009 г., 16:07
Под «обслуживанием» я подразумеваю абстракцию над частью функциональности. Возможно, основная функциональность - это COM-компонент, или доступ к базе данных, или что-то еще. Не имеет значения - виртуальная машина просто знает об интерфейсе, который она может использовать для взаимодействия с указанной функциональностью.

Внедрение зависимости статья. Проще говоря, сервис - это объект, который обеспечивает функциональность, которая будет использоваться другими объектами. Вы найдете термин, используемый интенсивно при обсуждении моделейИнверсия контроля а такжеСервисный локатор.

Чтобы конкретизировать эту тему под рукой, давайте подумаем о том, как отобразить окно сообщения в шаблоне MVVM. Вызов MessageBox.Show () будет плохим, Рэй. Это тесно связывает ViewModel с архитектурой пользовательского интерфейса и затрудняет его тестирование. Вместо этого одним из решений будет использование службы, которую мы будем называть IDisplayMessage. Этот сервис каким-то образом предоставляется ViewModel (через один из двух шаблонов выше), и этот сервис используется для «отображения» сообщения. Во время нормальной работы конкретная версия этого сервиса будет вызывать MessageBox.Show (), но во время тестирования мы можем предоставить другую конкретную версию (двойной тест), которая ведет себя по-разному (часто, или мы обеспечиваем отображение ViewModel сообщение, версия, которая записывает вызов, чтобы мы могли утверждать, что он произошел).Оникс (отказ от ответственности: я автор) предоставляет именно такую услугу и инфраструктуру, необходимую для предоставления этой услуги (и других) вашей ViewModel.

Обновить: Так как этот ответ был сделан, я написал сообщение в блогеУслуги: Ваша ViewModel Deathstar, который освещает тему довольно хорошо. Это было частью "серии" постов, и читатели также могут быть заинтересованы в первом постеПоведение - Ваша верная модель ViewModel Bazooka.

 Trainee4Life27 сент. 2009 г., 18:06
Почему бы не указать ваши статьи? Прикрепленное поведение:wekempf.spaces.live.com/Blog/cns!D18C3EC06EA971CF!940.entry Сервисы:wekempf.spaces.live.com/Blog/cns!D18C3EC06EA971CF!951.entry
 wekempf30 сент. 2009 г., 15:55
В то время статей не было, и я просто не думал возвращаться сюда и обновлять ответ.

Ваш ответ на вопрос