Tôi đã viết bài báo về một số trong số họ: WPF and Silverlight design patterns
Dưới đây là một mô tả ngắn gọn về các mô hình:
1) MVVM - sử dụng như một công cụ chuyển đổi mô hình và là một sự thay thế của mã ẩn. Cải thiện khả năng kiểm tra, nó dễ dàng hơn nhiều để viết các bài kiểm tra đơn vị cho ViewModel.
2) Tiêm phụ thuộc - được sử dụng để cải thiện khả năng kiểm tra của một lớp (bạn có thể viết bài kiểm tra đơn vị cho một lớp cụ thể riêng biệt với người khác) và khả năng thay đổi triển khai theo cách dễ dàng hơn (thay đổi trình ghi nhật ký, bộ nhớ cache, dịch vụ web, vv)
3) Lệnh - có thể được áp dụng cho các nút điều khiển Button và MenuItem theo mặc định, tắt điều khiển nếu không thể thực thi hành động. Cũng được sử dụng trong mẫu MVVM như là sự thay thế các sự kiện mã-đằng sau.
mẫu khác từ các cuốn sách kinh điển mà đã được sử dụng trong WPF:
- Singleton. Lớp Ứng dụng trong WPF và lớp HttpContext trong các biểu mẫu Web.
- Bộ điều hợp. Công cụ liên kết dữ liệu, sử dụng giao diện IValueConverter để chuyển đổi các giá trị ràng buộc cho giao diện người dùng.
- Trang trí. Lớp Border, trang trí bất kỳ lớp UIElement nào có đường viền có độ dày và màu thay đổi.
- Mặt tiền. Lớp PrintDialog, cung cấp giao diện đơn giản cho phép bạn sử dụng toàn bộ hệ thống con in và tài liệu mà WPF cung cấp.
- Lệnh. Giao diện ICommand, được triển khai bởi các lớp RoutedCommand và RoutedUICommand.
- Iterator. Giao diện IEnumerator, mà nhiều bộ sưu tập và danh sách trong .NET Framework thực hiện.
- Máy quan sát. Giao diện và sự kiện INotifyPropertyChanged.
WPF và Silverlight khá giống nhau về những điều này. – BoltClock
@BoltClock: Không chắc chắn phản ứng của bạn liên quan đến câu hỏi của tôi như thế nào. Bạn có thể vui lòng xây dựng? –
Bạn có thể giải thích tại sao bạn hỏi câu hỏi này? –