Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menguruskan Ketergantungan Berlebihan dengan Berkesan dalam Kaedah Kilang Berparameter?

Bagaimanakah Saya Boleh Menguruskan Ketergantungan Berlebihan dengan Berkesan dalam Kaedah Kilang Berparameter?

Susan Sarandon
Lepaskan: 2025-01-21 01:32:09
asal
945 orang telah melayarinya

How Can I Effectively Manage Excessive Dependencies in a Parameterized Factory Method?

Kaedah kilang menggunakan suntikan kebergantungan dan penyongsangan kawalan

Anda sudah biasa dengan kaedah kilang dan corak suntikan kebergantungan (DI), tetapi memerlukan panduan untuk kes khusus sejumlah besar kebergantungan dalam kaedah kilang berparameter.

Masalah: Terlalu bergantung pada kilang berparameter

Dalam kelas kilang anda, pembina memerlukan enam tanggungan dan setiap contoh kereta yang dibuat oleh kilang mempunyai set tanggungan yang berbeza. Ini menjadikan kilang sukar untuk diurus dan memperkenalkan penyataan CreateCar dalam kaedah switch case.

Kaedah alternatif

Anda mencadangkan dua alternatif: menyuntik contoh kereta terus ke dalam pembina kilang atau menggunakan pengesan perkhidmatan. Walau bagaimanapun, penyelesaian ini masing-masing mempunyai kelemahan mereka. Menyuntik contoh kereta melanggar prinsip reka bentuk kilang, dan menggunakan pencari perkhidmatan biasanya tidak digalakkan.

Penyelesaian: Corak Strategi untuk Suntikan Ketergantungan

Daripada menggunakan pernyataan switch case di kilang, pertimbangkan untuk menggunakan corak Strategi untuk suntikan pergantungan. Corak ini membolehkan anda membuat pelbagai pelaksanaan kilang, setiap satu dikhususkan untuk mencipta jenis kereta tertentu.

Pelaksanaan:

  1. Tentukan antara muka: Perkenalkan antara muka untuk ICarFactory dan ICarStrategy. ICarFactory mewakili kilang yang digunakan untuk mencipta contoh kereta, manakala ICarStrategy mewakili koleksi kilang.
  2. Buat Kilang: Laksanakan kelas kilang konkrit untuk setiap jenis kereta, seperti Car1Factory dan Car2Factory. Kilang-kilang ini menyuntik kebergantungan yang diperlukan melalui pembina mereka.
  3. Strategi Pelaksanaan: Buat kelas CarStrategy yang melaksanakan ICarStrategy dan mengandungi tatasusunan ICarFactory tika. Kaedah CarStrategy dalam CreateCar berulang ke atas kilang untuk mencari kilang yang boleh mencipta jenis kereta yang diminta.
  4. Penggunaan: Suntikan CarStrategy kejadian ke dalam kod anda. Anda kemudiannya boleh menggunakan kaedah CreateCar untuk membuat contoh kereta tanpa menyatakan kebergantungan secara langsung.

Kelebihan Mod Strategi:

  • Hapuskan switch case pernyataan dalam kaedah kilang
  • Membolehkan penambahan kilang kereta baharu dengan mudah
  • Memudahkan kebergantungan DI untuk setiap kilang
  • Lokasi berpusat untuk menyokong pendaftaran kilang

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menguruskan Ketergantungan Berlebihan dengan Berkesan dalam Kaedah Kilang Berparameter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan