Trong phần nhiều những dự án công trình bây giờ đều có áp dụng Dagger 2, sứ mệnh của nó là rất lớn, mặc dù so với bạn new ban đầu, để mày mò thì hay không dễ dãi.Quý khách hàng vẫn xem: Dagger là gì

Vì vậy, nghỉ ngơi nội dung bài viết này, bản thân vẫn chia sẻ tới các bạn các tư tưởng cơ phiên bản để chúng ta làm thân quen với Dagger 2, sinh hoạt cuối bài bác gồm kèm Demo chi tiết, mong muốn để giúp chúng ta đọc và có thể sử dụng được một cách dễ dãi hơn.

Bạn đang xem: Dependency injection với dagger là gì, dagger là gì

Mình đã bước vào từng định nghĩa một nhằm các chúng ta cũng có thể tưởng tượng rõ ràng nhất, thuộc tò mò nhé.

Xem thêm:

1. Dependency & Object Graph

trước hết họ vẫn mày mò khái niệm Dependency (prúc thuộc) và Object Graph (biểu đồ dùng đối tượng)
*

Nhỏng hình bên trên, ta thấy quan hệ giữ class A với class B: A có áp dụng 1 đối tượng người tiêu dùng hay như là một số methods của B thì ta có 1 Dependency, hôm nay hoàn toàn có thể đọc là: A dựa vào vào B, A có 1 Dependency là B, B là một trong những Dependency nhằm A sử dụngCũng trong ví dụ trên, ví như A có một object áp dụng object của class B thì từ bây giờ Object Graph vẫn có 1 object của class A với 1 tmê mệt chiếu mang lại object của class B.

2. Dependency Inversion Principle

Đây là một trong những nguyên tắc để xây đắp với viết code:Các module cao cấp tránh việc dựa vào vào những modules thấp cấp.Cả 2 yêu cầu phụ thuộc vào vào abstraction.
*

*

4. Dependency Injection

Đây là một trong cách để lúc này Inversion of Control Pattern.Các module phụ thuộc (dependency) sẽ được inject vào module cấp cao.Trong số đó một class đang nhấn những phụ thuộc vào (dependency) của nó tự bên ngoài. có nghĩa là class nó sẽ không còn khởi tạo instance của class khác bên trong nó, vậy vào đó nó đang dấn instance của class khác từ bỏ bên ngoài thông qua injector (constructor, method, interface) vv.Bạn hoàn toàn có thể coi hình minch họa dưới để làm rõ những quan niệm trong Dependency Injection
*

Từ ví dụ bên trên, chúng ta cũng có thể đọc những tư tưởng một cách đơn giản:Một dependency (Service) là 1 đối tượng người sử dụng rất có thể được áp dụng do Client. (cnhị thuốc)Một dependant (Client) là 1 trong đối tượng người sử dụng sử dụng các dependency khác. (android)Một injection tức là bọn họ chuyển một Service mang đến Client. (mũi tiêm cất thuốc)Tất cả hồ hết luật pháp đông đảo được đựng trong một vỏ hộp gồm biểu tượng con dao (Dagger)

5. Dagger 2

Cuối cùng chúng ta cũng đi tới phần thiết yếu, nếu sẽ đi qua các khái niệm bên trên thì chúng ta cũng có thể dễ ợt đọc Dagger là gì. Vậy Dagger 2 là gì ?Dagger 2 chính là một Dependency Injection framework (DI framework), nó có trách nát nhiệm tự động generate những phụ thuộc vào cho bọn họ bằng Việc thực hiện annotation processor
*