MVVM - Khung
Trong chương này, chúng ta sẽ thảo luận về các bộ công cụ MVVM hoặc các khuôn khổ có sẵn. Bạn cũng có thể sử dụng các khuôn khổ này để không phải viết một loạt mã lặp đi lặp lại để tự triển khai mẫu MVVM. Dưới đây là một số khuôn khổ phổ biến nhất -
- Prism
- MVVM Light
- Caliburn Micro
Lăng kính
Prism cung cấp hướng dẫn dưới dạng mẫu và tài liệu giúp bạn dễ dàng thiết kế và xây dựng các ứng dụng Windows Presentation Foundation (WPF) phong phú, linh hoạt và dễ bảo trì. Các ứng dụng Internet phong phú (RIA) được xây dựng với trình cắm trình duyệt Microsoft Silverlight và các ứng dụng Windows.
Prism sử dụng các mẫu thiết kế thể hiện các nguyên tắc thiết kế kiến trúc quan trọng, chẳng hạn như tách biệt các mối quan tâm và khớp nối lỏng lẻo.
Prism giúp bạn thiết kế và xây dựng các ứng dụng bằng cách sử dụng các thành phần được kết hợp lỏng lẻo có thể phát triển độc lập nhưng có thể được tích hợp dễ dàng và liền mạch vào ứng dụng tổng thể.
Các loại ứng dụng này được gọi là ứng dụng tổng hợp.
Prism có một số tính năng vượt trội. Sau đây là một số tính năng quan trọng của Prism.
Mẫu MVVM
Prism có hỗ trợ cho mẫu MVVM. Nó có một lớp Bindablebase tương tự như lớp được triển khai trong các chương trước.
Nó có một ViewModelLocator linh hoạt có các quy ước cho nó nhưng cho phép bạn ghi đè các quy ước đó và kết nối các View và ViewModels của bạn theo cách được kết hợp lỏng lẻo.
Môđun
Đó là khả năng chia nhỏ mã của bạn thành các thư viện lớp được kết hợp hoàn toàn lỏng lẻo trong các phần và kết hợp chúng lại với nhau trong thời gian chạy thành một tổng thể gắn kết cho người dùng cuối, trong khi mã vẫn được tách rời hoàn toàn.
Thành phần / Khu vực giao diện người dùng
Đó là khả năng cắm các khung nhìn vào vùng chứa mà không cần Chế độ xem đang thực hiện việc cắm, cần có tham chiếu rõ ràng đến chính vùng chứa giao diện người dùng.
dẫn đường
Prism có các tính năng điều hướng xếp lớp trên các vùng, như điều hướng tiến và lùi và ngăn xếp điều hướng cho phép các mô hình chế độ xem của bạn tham gia trực tiếp vào quá trình điều hướng.
Lệnh
Prism có các lệnh nên chúng có lệnh ủy quyền rất giống với lệnh MyICommand mà chúng ta đã sử dụng trong các chương trước ngoại trừ nó có thêm một số độ mạnh để bảo vệ bạn khỏi rò rỉ bộ nhớ.
Sự kiện Pub / Sub
Prism cũng có hỗ trợ cho các sự kiện Pub / Sub. Đây là những sự kiện được kết hợp lỏng lẻo trong đó nhà xuất bản và người đăng ký có thể có thời gian tồn tại khác nhau và không cần phải tham chiếu rõ ràng đến nhau để giao tiếp thông qua các sự kiện.
MVVM Light
MVVM Light được sản xuất bởi Laurent Bugnion và giúp bạn tách Chế độ xem khỏi Mô hình của mình, điều này tạo ra các ứng dụng sạch hơn, dễ bảo trì và mở rộng hơn.
Nó cũng tạo ra các ứng dụng có thể kiểm tra và cho phép bạn có một lớp giao diện người dùng mỏng hơn nhiều (khó kiểm tra tự động hơn).
Bộ công cụ này đặc biệt nhấn mạnh vào việc mở và chỉnh sửa giao diện người dùng thành Blend, bao gồm cả việc tạo dữ liệu thời gian thiết kế để cho phép người dùng Blend "nhìn thấy thứ gì đó" khi họ làm việc với các điều khiển dữ liệu.
Caliburn Micro
Đây là một khuôn khổ mã nguồn mở nhỏ khác giúp bạn triển khai mô hình MVVM và cũng hỗ trợ một số thứ khác.
Caliburn Micro là một khuôn khổ nhỏ nhưng mạnh mẽ, được thiết kế để xây dựng các ứng dụng trên tất cả các nền tảng XAML.
Với sự hỗ trợ mạnh mẽ cho MVVM và các mẫu giao diện người dùng đã được chứng minh khác, Caliburn Micro sẽ cho phép bạn xây dựng giải pháp của mình một cách nhanh chóng mà không cần phải hy sinh chất lượng mã hoặc khả năng kiểm tra.