Tìm hiểu về dependency injection trong lập trình Android

0
1186

Như các bạn đã biết để học được lập trình Android cần có kiến thức cơ bản về lập trình java do đó bài học hôm nay chúng ta sẽ tìm hiểu về dependency injection trong java.

Dependency injection là một khái niệm mà không bị giới hạn đến Java. Nhưng chúng tôi sẽ xem xét các phụ thuộc từ một điểm của Java. Khái niệm chung sau phụ thuộc được gọi là Inversion of Control . Theo khái niệm này một lớp không nên cấu hình của nó phụ thuộc nhưng phải được cấu hình từ bên ngoài.

Một lớp Java có một sự phụ thuộc vào một lớp khác nếu nó sử dụng một thể hiện của lớp này và ta gọi nó là class dependency. Ví dụ một lớp mà truy cập một dịch vụ logger có một sự phụ thuộc vào lớp dịch vụ này.
Lý tưởng nhất là các lớp Java nên càng độc lập càng tốt từ các lớp Java khác. Điều này làm tăng khả năng tái sử dụng các lớp này và để có thể kiểm tra chúng một cách độc lập từ các lớp khác.

Nếu lớp Java tạo ra một thể hiện của một lớp khác qua đối tượng mới, nó không thể được sử dụng (và thử nghiệm) độc lập từ lớp này và điều này được gọi là một phụ thuộc cứng. Ví dụ sau đây cho thấy một lớp mà không có phụ thuộc ban đầu.

Lưu ý: Xin lưu ý rằng lớp này chỉ là một lớp Java bình thường, không có gì đặc biệt về nó, ngoại trừ việc nó tránh tạo ra đối tượng trực tiếp.

Tham gia khoa hoc lap trinh android tại học viện công nghệ vietpro

Một lớp khung, thường được gọi là dependency container, có thể phân tích sự phụ thuộc của lớp này. Với phân tích này, nó có thể tạo ra một thể hiện của lớp và tiêm các đối tượng vào các phụ thuộc được xác định, thông qua Java.
Bằng cách này, các lớp Java không có phụ thuộc cứng, có nghĩa là nó không dựa trên một thể hiện của một tầng lớp nhất định. Điều này cho phép bạn kiểm tra các lớp học của bạn trong sự cô lập, ví dụ bằng cách sử dụng mô hình đối tượng.

Các đối tượng giả (mocks) là đối tượng mà hành xử tương tự như các đối tượng thực sự. Nhưng những mocks không được lập trình; chúng được cấu hình để hành xử theo một cách nhất định được xác định trước. Mock là một từ tiếng Anh có nghĩa là để bắt chước hoặc làm theo.

Nếu các phụ thuộc được sử dụng, một lớp Java có thể được kiểm tra một cách độc lập.

Chia sẻ

BÌNH LUẬN

Please enter your comment!
Please enter your name here