NHibernate - Kiến trúc
Ngày nay, nhiều hệ thống được thiết kế với kiến trúc phân lớp, NHibernate cũng có nó và hoạt động hoàn toàn tốt với thiết kế đó.
Kiến trúc phân lớp
Kiến trúc phân lớp chia hệ thống thành một số nhóm, trong đó mỗi nhóm chứa mã giải quyết một khu vực vấn đề cụ thể và các nhóm này được gọi là các lớp. Hầu hết các ứng dụng cấp doanh nghiệp sử dụnghigh-level application architecture bao gồm ba lớp -
- Lớp trình bày
- Lớp kinh doanh
- Lớp Persistence
Ví dụ, một lớp giao diện người dùng còn được gọi là lớp trình bày có thể chứa tất cả mã ứng dụng để xây dựng các trang web và xử lý đầu vào của người dùng.
Một lợi ích chính của phương pháp phân lớp là bạn thường có thể thực hiện các thay đổi đối với một lớp mà không có bất kỳ sự gián đoạn đáng kể nào đối với các lớp khác, do đó làm cho hệ thống lesser fragile and more maintainable.
Lớp trình bày
Đây là lớp trên cùng, chứa mã chịu trách nhiệm vẽ Giao diện người dùng, các trang, hộp thoại hoặc màn hình, thu thập thông tin đầu vào của người dùng và kiểm soát điều hướng.
Tầng kinh doanh
Lớp nghiệp vụ chịu trách nhiệm thực hiện bất kỳ quy tắc nghiệp vụ hoặc yêu cầu hệ thống nào mà người dùng sẽ hiểu như một phần của miền sự cố.
Nó cũng sử dụng lại mô hình được xác định bởi lớp bền vững.
Lớp bền vững
Lớp bền vững bao gồm các lớp và thành phần chịu trách nhiệm lưu và truy xuất dữ liệu ứng dụng.
Lớp này cũng xác định ánh xạ giữa lớp mô hình và cơ sở dữ liệu. NHibernate được sử dụng chủ yếu trong lớp này.
Cơ sở dữ liệu
- Cơ sở dữ liệu tồn tại bên ngoài ứng dụng .NET.
- Đó là đại diện thực tế, liên tục của trạng thái hệ thống.
- Nếu cơ sở dữ liệu SQL được sử dụng, cơ sở dữ liệu này bao gồm lược đồ quan hệ và có thể là các thủ tục được lưu trữ.
Người trợ giúp / Lớp tiện ích
Mọi ứng dụng đều có một tập hợp các lớp trợ giúp hoặc tiện ích hỗ trợ các lớp khác: ví dụ: tiện ích giao diện người dùng, lớp nhắn tin, lớp Ngoại lệ và tiện ích ghi nhật ký.
Các phần tử này không được coi là các lớp, bởi vì chúng không tuân theo các quy tắc về sự phụ thuộc giữa các lớp trong một kiến trúc phân lớp.
Kiến trúc NHibernate
Đây là chế độ xem cấp cao của ứng dụng NHibernate và bạn cũng có thể thấy kiến trúc NHibernate đơn giản.
Mã ứng dụng sử dụng NHibernate ISession và IQuery Các API cho hoạt động bền bỉ và chỉ phải quản lý các giao dịch cơ sở dữ liệu, lý tưởng là sử dụng NHibernate ITransaction API.