Rumah >pembangunan bahagian belakang >C++ >Di manakah Saya Harus Mendaftar Objek dalam Aplikasi Windsor Istana Berbilang Lapisan untuk Reka Bentuk dan Kebolehujian Optimum?

Di manakah Saya Harus Mendaftar Objek dalam Aplikasi Windsor Istana Berbilang Lapisan untuk Reka Bentuk dan Kebolehujian Optimum?

Barbara Streisand
Barbara Streisandasal
2025-01-12 18:30:43892semak imbas

Where Should I Register Objects in a Multi-Layered Castle Windsor Application for Optimal Design and Testability?

Tempat dan kaedah terbaik untuk mendaftarkan objek dalam aplikasi Castle Windsor berbilang peringkat

Apabila menyepadukan Castle Windsor ke dalam aplikasi dengan struktur berbilang lapisan (seperti lapisan akses data, lapisan logik perniagaan dan lapisan aplikasi), adalah penting untuk mempertimbangkan dengan teliti reka bentuk pendaftaran objek dalam Windsor. Persoalannya ialah: siapa yang harus bertanggungjawab untuk mendaftarkan objek?

Reka bentuk pelan untuk pendaftaran objek

  1. Setiap lapisan mendaftar dirinya sendiri: Setiap lapisan mendaftarkan objeknya sendiri. Sebagai contoh, lapisan logik perniagaan mendaftarkan komponen lapisan akses data, manakala meja ujian untuk lapisan logik perniagaan menggantikan lapisan akses data dengan kelas olok-olok.
  2. Pendaftaran pergantungan: Setiap lapisan mendaftarkan kebergantungannya, contohnya, lapisan logik perniagaan mendaftarkan komponen lapisan akses data. Pengujian akan melibatkan memunggah objek lapisan akses data "sebenar" dan menggantikannya dengan objek olok-olok.
  3. Pendaftaran Peringkat Aplikasi: Aplikasi (atau aplikasi ujian) bertanggungjawab untuk mendaftarkan objek untuk semua tanggungan.

Kaedah yang disyorkan: Akar gabungan

Untuk mencapai modulariti maksimum dan gandingan longgar, semua komponen aplikasi harus digubah selewat mungkin. Dalam amalan, ini bermakna mengkonfigurasi bekas pada akar aplikasi:

  • Apl Desktop: Main Bagaimana untuk
  • Aplikasi ASP.NET: Global.asax
  • Aplikasi WCF: ServiceHostFactory
Bekas

bertindak sebagai enjin gubahan dan akar aplikasi bertindak sebagai akar gubahan . Ini memastikan bahawa aplikasi kekal boleh laku yang mudah tanpa ujian unit yang tidak perlu.

Ujian tanpa bekas

Ujian harus mengelak daripada bergantung pada bekas. Sebaliknya, objek dan modul harus direka bentuk untuk menjadi agnostik bekas. Ujian unit secara langsung boleh memberikan ujian beregu untuk komponen ini.

Pemasang Windsor digunakan untuk membungkus

Dalam Windsor, logik pendaftaran komponen boleh dirangkumkan dalam pemasang yang melaksanakan IWindsorInstaller. Lihat dokumentasi Windsor untuk butiran lanjut.

Atas ialah kandungan terperinci Di manakah Saya Harus Mendaftar Objek dalam Aplikasi Windsor Istana Berbilang Lapisan untuk Reka Bentuk dan Kebolehujian Optimum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn