NHibernate - Arsitektur
Sekarang-a-hari, banyak sistem dirancang dengan arsitektur berlapis, NHibernate juga memilikinya dan bekerja dengan sangat baik dengan desain itu.
Arsitektur Berlapis
Arsitektur berlapis membagi sistem menjadi beberapa grup, di mana setiap grup berisi kode yang menangani area masalah tertentu dan grup ini disebut lapisan. Sebagian besar penggunaan aplikasi tingkat perusahaanhigh-level application architecture yang terdiri dari tiga lapisan -
- Lapisan Presentasi
- Lapisan Bisnis
- Lapisan Persistensi
Misalnya, lapisan antarmuka pengguna yang juga dikenal sebagai lapisan presentasi mungkin berisi semua kode aplikasi untuk membangun halaman web dan memproses masukan pengguna.
Salah satu manfaat utama dari pendekatan pelapisan adalah Anda sering dapat membuat perubahan pada satu lapisan tanpa gangguan yang berarti pada lapisan lainnya, sehingga membuat sistem lesser fragile and more maintainable.
Lapisan Presentasi
Ini adalah lapisan paling atas, yang berisi kode yang bertanggung jawab untuk menggambar Antarmuka Pengguna, halaman, dialog atau layar, dan mengumpulkan input pengguna, dan mengontrol navigasi.
Lapisan Bisnis
Lapisan bisnis bertanggung jawab untuk menerapkan aturan bisnis atau persyaratan sistem yang akan dipahami pengguna sebagai bagian dari domain masalah.
Ini juga menggunakan kembali model yang ditentukan oleh lapisan persistensi.
Lapisan Persistensi
Lapisan persistensi terdiri dari kelas dan komponen yang bertanggung jawab untuk menyimpan dan mengambil data aplikasi.
Lapisan ini juga mendefinisikan pemetaan antara kelas model dan database. NHibernate digunakan terutama di lapisan ini.
Database
- Basis data ada di luar aplikasi .NET.
- Ini adalah representasi aktual dari status sistem.
- Jika database SQL digunakan, database menyertakan skema relasional dan kemungkinan prosedur tersimpan.
Kelas Pembantu / Utilitas
Setiap aplikasi memiliki sekumpulan kelas pembantu atau utilitas yang mendukung lapisan lain: misalnya, widget UI, kelas perpesanan, kelas pengecualian, dan utilitas logging.
Elemen-elemen ini tidak dianggap sebagai lapisan, karena mereka tidak mematuhi aturan untuk ketergantungan interlayer dalam arsitektur berlapis.
Arsitektur NHibernate
Ini adalah tampilan tingkat tinggi dari aplikasi NHibernate dan Anda juga dapat melihat arsitektur NHibernate sederhana.
Kode aplikasi menggunakan NHibernate ISession dan IQuery API untuk operasi persistensi dan hanya perlu mengelola transaksi database, idealnya menggunakan NHibernate ITransaction API.