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.