Prism là gì ? các khái niệm chính trong Prism Library 5.0 for WPF

Prism cung cấp khả năng và design patterns có thể không quen thuộc với các bạn. đặc biệt là nếu bạn là người mới trong việc design patterns và phát triển ứng dụng tổng hợp. Bài viết sẽ cung cấp một cái nhìn khái quát về các khái niệm chính đằng sau Prism và định nghĩa một số thuật ngữ.

Các bài liên quan

  1. Prism là gì ? các khái niệm chính trong Prism Library 5.0 for WPF
  2. Prism Library 5.0 for WPF – Khởi tạo ứng dụng
  3. Prism Library 5.0 for WPF – Implementing MVVM Pattern
  4. Prism Library 5.0 for WPF – Sử dụng Event Aggregation xây dựng một composite application

 

Prism - cac khai niem chinh

Kiến trúc ứng dụng điển hình điển hình với Thư viện Prism

 

  • Modules (mô-đun): là gói các chức năng được phát triển độc lập, được test và (tùy ý) triển khai. Trong nhiều trường hợp, mô-đun được phát triển và duy trì bởi các nhóm riêng biệt. Một ứng dụng Prism điển hình được xây dựng từ nhiều mô-đun.  Các mô-đun có thể được sử dụng để đại diện cho các chức năng business cụ thể (ví dụ như quản lý hồ sơ) và đóng gói tất cả các views, dịch vụ và các mô hình dữ liệu cần thiết để thực hiện chức năng đó. Các mô-đun cũng có thể được sử dụng để gói gọn cơ sở hạ tầng hoặc dịch vụ ứng dụng thông thường (ví dụ như khai thác gỗ và các dịch vụ quản lý ngoại lệ) có thể được sử dụng lại trên nhiều ứng dụng.
  • Module catalog (Danh mục mô-đun): Trong một ứng dụng tổng hợp, các mô-đun phải được phát hiện và nạp vào thời gian chạy bởi host application. Trong Prism, một danh mục mô đun được sử dụng để chỉ định các mô-đun nào sẽ được tải, khi chúng được nạp, và theo thứ tự nào. Danh mục mô-đun được sử dụng bởi các thành phần ModuleManagerModuleLoader, có trách nhiệm tải các mô-đun nếu chúng ở xa, tải các bộ phận của mô-đun vào miền ứng dụng và để khởi tạo mô-đun. Prism cho phép mô tả danh mục mô đun theo nhiều cách khác nhau, bao gồm lập trình bằng mã, khai báo sử dụng XAML hoặc sử dụng tệp cấu hình. Bạn cũng có thể thực hiện một catalog mô-đun tuỳ chỉnh nếu bạn cần.
  • Shell: là host application trong đó các module được load. Shell xác định cách bố trí và cấu trúc tổng thể của ứng dụng, tuy nhiên nó thường không biết đến các mô-đun chính xác mà nó sẽ lưu trữ. Nó thường thực hiện các dịch vụ ứng dụng phổ biến và cơ sở hạ tầng, nhưng hầu hết các chức năng và nội dung của ứng dụng được thực hiện trong các mô-đun. Shell cũng cung cấp các phần tử của top-level window hoặc visual ma nó sẽ lưu trữ các thành phần giao diện người dùng khác nhau được cung cấp bởi các mô đun đã tải.
  • Views:  là UI control nó được đóng gói trong UI cho một tính năng hoặc chức năng của ứng dụng. Views được sử dụng kết hợp với mô hình MVVM, được sử dụng để cung cấp một sự tách biệt rõ ràng giữa UI và logic và dữ liệu trình bày của ứng dụng. Views sử dụng data binding để tương tác với  lớp view model.
  • View models: là các lớp đóng gói presentation logic và state. chúng là một phần của mô hình MVVM. View model đóng gói nhiều chức năng của ứng dụng .. View model xác định properties, commands, và events, để control trong view có thể data-bind.
  • Commands: chúng có thể được định nghĩa như là command objects hoặc là command methods trong view model. Prism cung cấp lớp DelegateCommand và lớp CompositeCommand. Sau cùng được sử dụng để đại diện cho một bộ sưu tập các lệnh được gọi chung với nhau.
  • Regions (vùng): là những  trình giữ chỗ hợp lý (logical placeholders) được định nghĩa trong giao diện người dùng của ứng dụng(trong sell hoặc trong views) vào các Views được hiển thị. Regions cho phép bố cục UI của ứng dụng được cập nhật mà không yêu cầu thay đổi logic ứng dụng. Nhiều common controls có thể sử dụng như là region, cho phép View tự động được hiển trong control, như là ContentControl, ItemsControl, ListBox, hoặc TabControl. View có thể được hiển thị trong region được lập trình hoặc tự động. Prism cũng hỗ trợ thuwjc hiện việc điều hướng (navigation) với các regions. Regions có thể được định vị bởi các thành phần (components) khác thông qua thành phần RegionManager, sử dụng các thành phần RegionAdapter và RegionBehavior để phối hợp việc hiển thị các view trong các khu vực cụ thể.
  • Navigation (điều hướng): được định nghĩa là quá trình mà ứng dụng điều phối thay đổi giao diện người dùng của nó như là kết quả của sự tương tác của người dùng với ứng dụng hoặc thay đổi trạng thái nội bộ ứng dụng. Prism hỗ trợ hai kiểu điều hướng: chuyển hướng dựa trên trạng thái, nơi mà trạng thái của một view hiện tại được cập nhật để thực hiện các kịch bản điều hướng đơn giản và điều hướng chuyển view, nơi mà các views mới được tạo và views cũ được thay thế trong UI của ứng dụng.
  • EventAggregator. Các thành phần trong một ứng dụng tổng hợp thường cần liên lạc với các thành phần và dịch vụ khác trong ứng dụng một cách lỏng lẻo. Để hỗ trợ cho việc này, Prism cung cấp thành phần EventAggregator, thực hiện cơ chế sự kiện pub-sub, cho phép các thành phần xuất bản các sự kiện và các thành phần khác đăng ký vào các sự kiện đó mà không cần phải reference đến cái khác. EventAggregator thường được sử dụng để cho phép các thành phần được định nghĩa trong các mô đun khác nhau để giao tiếp với nhau.
  • Dependency injection container. Dependency Injection (DI) pattern được sử dụng trong suốt Prism để cho phép phụ thuộc giữa các thành phần được quản lý. Dependency injection cho phép phụ thuộc vào thành phần được thực hiện trong thời gian chạy, và nó hỗ trợ khả năng mở rộng và khả năng kiểm tra. Prism được thiết kế để làm việc với Unity hoặc MEF, hoặc với bất kỳ container phụ thuộc khác thông qua ServiceLocator.
  • Service. là các thành phần đóng gói các chức năng không liên quan đến UI, chẳng hạn như đăng nhập, quản lý ngoại lệ và truy cập dữ liệu. service có thể được xác định bởi ứng dụng hoặc trong một mô-đun. Service thường được đăng ký vớid ependency injection container để chúng có thể được đặt hoặc xây dựng theo yêu cầu và được sử dụng bởi các thành phần khác phụ thuộc vào chúng.
  • Controllers: là các lớp được sử dụng để phối hợp việc xây dựng và khởi tạo các views được hiển thị trong một Region trong UI của ứng dụng. Controller đóng gói logic trình bày để xác định xem các view nào sẽ được hiển thị. Controller  sẽ sử dụng cơ chế dẫn đường chuyển đổi chế độ viewcủa Prism, cung cấp cơ chế định hướng dựa trên URI mở rộng để điều phối việc xây dựng và bố trí quan điểm trong các vùng. Application Controller pattern xác định một trừu tượng ánh xạ tới trách nhiệm này.
  • Bootstrapper. được ứng dụng sử dụng để khởi tạo các thành phần và dịch vụ Prism . Nó được sử dụng để khởi tạo các dependency injection container để đăng ký bất kỳ thành phần cấp ứng dụng và dịch vụ với nó. Nó cũng được sử dụng để cấu hình và khởi tạo danh mục mô-đun  và shell’s view và view model hoặc presenter.

Bài viết được dịch từ https://msdn.microsoft.com/en-us/library/ff921153(v=pandp.40).aspx

3 thoughts on “Prism là gì ? các khái niệm chính trong Prism Library 5.0 for WPF

  1. Pingback: Prism Library 5.0 for WPF – Implementing MVVM Pattern | Phạm Duy Anh

  2. Pingback: Prism Library 5.0 for WPF – Khởi tạo ứng dụng | Phạm Duy Anh

  3. Pingback: Prism Library 5.0 for WPF – Sử dụng Event Aggregation xây dựng một composite application | Phạm Duy Anh

Leave a Reply

Your email address will not be published.