Quay lại thư viện câu hỏi
dependency injection Junior

Constructor Injection khác gì với Property Injection và Method Injection, khi nào nên sử dụng loại nào?

Các hình thức Dependency Injection phổ biến

  1. Constructor Injection
  • Bản chất: Truyền các phụ thuộc thông qua phương thức khởi tạo (Constructor) của lớp.
  • Đặc điểm: Đây là tiêu chuẩn vàng trong thiết kế phần mềm. Đảm bảo rằng đối tượng sau khi được khởi tạo đã ở trạng thái hoàn chỉnh và sẵn sàng sử dụng (không bị phụ thuộc vào trạng thái null).
  • Khuyên dùng: Mặc định nên sử dụng hình thức này cho 90% các trường hợp.
  1. Property Injection (Setter Injection)
  • Bản chất: Truyền phụ thuộc thông qua các thuộc tính (properties) có thể gán giá trị sau khi đối tượng đã được khởi tạo.
  • Đặc điểm: Cho phép thay đổi dependency linh hoạt tại runtime, nhưng đối tượng có thể rơi vào trạng thái chưa hoàn thiện (incomplete state) nếu quên gán giá trị.
  • Trường hợp sử dụng: Dùng cho các phụ thuộc tùy chọn (optional dependencies) hoặc khi làm việc với một số framework cũ có giới hạn về constructor.
  1. Method Injection
  • Bản chất: Truyền phụ thuộc trực tiếp qua tham số của một phương thức cụ thể.
  • Trường hợp sử dụng: Khi phụ thuộc đó chỉ cần thiết cho một hành động duy nhất và không nên lưu trữ làm trạng thái nội bộ của lớp.

Lưu ý thực chiến

Junior cần tránh lạm dụng Property Injection vì nó làm giảm tính bao bọc (encapsulation) của đối tượng và khiến việc kiểm tra lỗi null trở nên khó khăn.

Luyện tập câu hỏi này trong chế độ đếm ngược mô phỏng phỏng vấn thật:
Phòng Luyện Tập
Khóa học Chuyên sâu Chủ đề dependency injection

Làm Chủ Phỏng Vấn & Nâng Cao Trình Độ Chuyên Nghiệp

Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.

Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)

Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.

High-Ticket Mentoring
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?

Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.

AI Resume Scanner
Kiểm Tra CV Chuẩn ATS Miễn Phí

Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học