WPF vs Caliburn- Tìm Hiểu Về Caliburn.Micro Framework Phần II

Như ở bài trước tôi đã giới thiệu về caliburn.mocro, bài tiếp theo này tôi sẽ hướng dẫn các bạn về cách tạo một project WPF hợp chuẩn mô hình MVVM(*) dùng Caliburn framework. Bài này cho ta cái nhìn cơ bản về cấu trúc một Project WPF-Caliburn...


I> Hiểu MVVM Là Gì


Để tổ chức một project theo mô hình MVVM nói chung và Caliburn nói riêng chúng ta cần hiểu rõ MVVM là gì và cơ chế Mapping(View - ViewModel) mà Framework hiện tại hỗ trợ. Hai hình sau minh họa  khã rõ mô hình MVVM





Class diagram




II> Quy Ước Tổ Chức Một Project Của Caliburn




Theo quy ước của Caliburn, phần View-ViewModel-Model phải được đặt tên theo một quy ước để có thể tận dụng tối hiệu năng của framework - mà dễ thấy nhất đó là một View sẽ được tự động kết dính với một ViewModel( bạn sẽ có cơ hội cảm nhận về điều này sau) nếu bạn tuân các thủ quy ước sau.

























View ModelView
Convention<EntityName>ViewModel<EntityName>View
Example 1ShellViewModelShellView
Example 2TabViewModelTabView

Vì View trong thực tế được thể hiện như một Page nên chúng ta hoàn toàn có thể đặt tên như bảng dưới đây

























View ModelView
Convention<EntityName>PageViewModel<EntityName>Page
Example 1MainPageViewModelMainPage
Example 2OrderPageViewModelOrderPage

Nếu chúng ta có một Namespace khá dài cho các ViewModel hoặc View, chúng ta phải tuân thủ cách đặt tên sau

























View ModelView
Convention<RootNS>.<ViewModelTypeName><RootNS>.<ViewTypeName>
Example 1MyProject.ShellViewModelMyProject.ShellView
Example 2MyProject.MainPageViewModelMyProject.MainPage

Hoặc

























View ModelView
Convention<RootNS>.ViewModels.<ChildNS>.<ViewModelTypeName><RootNS>.Views.<ChildNS>.<ViewTypeName>
Example 1MyProject.ViewModels.ShellViewModelMyProject.Views.ShellView
Example 2MyProject.ViewModels.Utilities.SettingsViewModelMyPoject.Views.Utitlities.SettingsView

Dưới đây là một ví dụ về cách tổ chức một project Caliburn.Micro

caliburn project example

Hay



Tất cả những quy ước trên là bạn phải thực hiện chính xác nếu muốn tận dụng nhiều tính năng hay, song bạn hoàn toàn có thể thay đổi theo ý cá nhân vì đây là framework mã nguồn mở.

-----------------------------------------------------------------

  1. Tìm Hiểu Về Caliburn.Micro Framework Phần I

  2. Tìm Hiểu Về Caliburn.Micro Framework Phần II


Chúc các bạn thành công!
PHẠM TUÂN