Я написал статью о некоторых из них: Шаблоны проектирования WPF и Silverlight
Вот краткое описание моделей:
1) MVVM - используется в качестве преобразователя модели и в качестве замены кода кода. Улучшает тестируемость, гораздо проще писать модульные тесты для ViewModel.
2) Внедрение зависимостей - используется для улучшения тестируемости класса (вы можете написать модульные тесты для определенного класса отдельно от других) и для возможности более простого изменения реализации (сменить регистратор, поставщик кеша, веб-сервис и т. д.)
3) Команда - по умолчанию может применяться к элементам управления Button и MenuItem, отключает элементы управления, если действие не может быть выполнено. Также используется в шаблоне MVVM для замены событий с выделенным кодом.
Другие шаблоны из классической книги, которые уже используются в WPF:
- Singleton. Класс Application в WPF и класс HttpContext
в веб-формах.
- адаптер. Механизм привязки данных, который использует IValueConverter
интерфейс для преобразования значений привязки для пользовательского интерфейса.
- декоратор. Класс Border, который украшает любой класс UIElement
с рамкой переменной толщины и цвета.
- Фасадная. Класс PrintDialog, который предоставляет простой интерфейс
что позволяет использовать всю подсистему печати и документов
что обеспечивает WPF.
- Command. Интерфейс ICommand, который реализуется
Классы RoutedCommand и RoutedUICommand.
- итератор. Интерфейс IEnumerator, который много коллекций и списков
в реализации .NET Framework.
- Наблюдатель. Интерфейс и события INotifyPropertyChanged.