Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

วิธีต่างๆ ในการนำการพึ่งพาการฉีดไปใช้และข้อดีใน C # ต่างกันอย่างไร


กระบวนการฉีด (แปลง) วัตถุที่เป็นคู่ (ขึ้นอยู่กับ) ลงในวัตถุที่แยกออก (อิสระ) เรียกว่าการพึ่งพาการฉีด

ประเภทของการฉีดอ้างอิง

DI มีสี่ประเภท:

1.ฉีดคอนสตรัคเตอร์

2.เซ็ตเตอร์ฉีด

3.การฉีดตามอินเทอร์เฟซ

4.เครื่องระบุตำแหน่งบริการ

คอนสตรัคเตอร์ฉีด

ตัวสร้างใช้เพื่อเชื่อมต่อพารามิเตอร์ที่แสดงผ่านผู้รับเหมาที่มีการกำหนดพารามิเตอร์

มันฉีดการพึ่งพาผ่านวิธีผู้รับเหมาเป็นการสร้างวัตถุคลาสอื่น ๆ

เซ็ตเตอร์ฉีด

Getter และ Setter Injection ทำการพึ่งพาโดยใช้ขั้นตอนคุณสมบัติสาธารณะที่เป็นค่าเริ่มต้น เช่น Gettter(get(){}) และ Setter(set(){}) ท

ฉีดอินเทอร์เฟซ

Interface Injection นั้นคล้ายกับ Getter และ Setter DI โดย Getter และ Setter DI ใช้ getter และ setter ที่เป็นค่าดีฟอลต์ แต่ Interface Injection นั้นใช้อินเทอร์เฟซการสนับสนุนซึ่งเป็นชนิดของ getter และ setter ที่ชัดเจนซึ่งตั้งค่าคุณสมบัติของอินเตอร์เฟส

ตัวระบุตำแหน่งบริการ

Service Locator Injection เรียกอีกอย่างว่าการดูดซับการพึ่งพา ใช้สำหรับเปลี่ยนโอเปอเรเตอร์ใหม่ มันซ่อนการพึ่งพาคลาสโดยเรียกใช้เมธอดโดยตรง (โดยไม่ต้องสร้างวัตถุ)

ข้อดีของ DI

ลดระดับการมีเพศสัมพันธ์

เพิ่มความสามารถในการนำรหัสกลับมาใช้ใหม่ได้

ปรับปรุงการรักษารหัส

ปรับปรุงการทดสอบแอปพลิเคชัน

การกำหนดค่าจากส่วนกลาง

ข้อเสียของการพึ่งพาการฉีด

ข้อเสียเปรียบหลักของการฉีดการพึ่งพาคือการใช้หลายอินสแตนซ์ร่วมกันอาจกลายเป็นเรื่องยากมากหากมีอินสแตนซ์มากเกินไปและการพึ่งพาจำนวนมากที่ต้องแก้ไข