Bài viết Dependency injection là gì thuộc chủ đề về hỏi đáp đang được rất nhiều bạn lưu tâm đúng không nào !! Hôm nay, Hãy cùng hocviencanboxd.edu.vn tìm hiểu Dependency injection là gì trong bài viết hôm nay nha !
Các bạn đang xem bài viết : “Dependency injection là gì”

Heyzau, chào tất cả các bạn, hôm nay mình sẽ chia sẻ về 2 khái niệm gây ra nhức nhối và thương nhớ cho rất nhiều developer, Để làm việc được với Spring và hệ sinh thái quanh nó, thì việc đầu tiên, tiên quyết, duy nhất bạn cần làm đó là thấu hiểu định nghĩa của 2 cái này.

Bạn đang xem: Dependency injection là gì

Vậy chúng nó là cái gì, chúng ta sẽ đi vào chi tiết nha.

À quên, trước hết bạn phải đọc bài này trước, thì mới đi tiếp được:

Khái niệm tight-coupling (liên kết ràng buộc) và cách loosely coupled

# Dependency Injection (DI)

Trong tài liệu có nói thế này:

Dependency Injection is a design pattern, …

Thế thì bạn khả năng hiểu nôm na nó là một phương pháp lập trình, là một thiết kế để bạn có được kết quả cao hơn khi code. Trước khi phương pháp này ra đời, bạn vẫn code bình thường, nhưng bây giờ có rồi, đi theo nó sẽ giúp ích nhiều hơn cho việc lập trình của bạn.

Vậy cuối cùng Dependency Injection nó bảo chúng ta làm gì? ???? (nôm na nhiều mà quên mịa vấn đề chính)

READ  Hộ Chiếu Là Gì - Tổng Hợp Các Thông Tin Về Hộ Chiếu

Mình sẽ giải thích cho các bạn qua một ví dụ như lày:

public class Girl private Bikini outfit; // mỗi cô gái sẽ có một bộ bikini khi ra ngoài public Girl() outfit = new Bikini(); // Khi bạn tạo ra 1 cô gái, bạn cho cô ta mặc Bikini chẳng hạn Trước hết, qua đoạn code này, bạn sẽ thấy là khi bạn tạo ra một Girl, bạn sẽ tạo ra thêm 1 bộ Bikini đi kèm với cô gái đó. Lúc này, Bikini tồn tại mang ý nghĩa là dependency (phụ thuộc) của Girl.

Khi khởi tạo thuộc tính như này, bạn vô tình tạo ra một điểm thắt nút trong chương trình của mình, giả sử, Girl muốn mặc một bộ Váy + Áo thun hở rốn hay không mặc gì thì sao? Bạn sẽ phải thay class Bikini thành SkirtWithTshirt(Váy với áo T-shirt) hay Naked (Trần như nhộng) ư?

Hay nguy hiểm hơn, bộ đồ Bikini bị hỏng? (code lớp Bikini không vận hành?) nó sẽ tác động trực tiếp tới Girl.

Xem thêm:

tft là gì
check it out là gì
festa là gì
trạng ngữ là gì
in response to là gì

Vấn đề là ở đó, nguyên tắc là:

Các Class nhớ đừng nên phụ thuộc vào các kế thừa cấp thấp, mà nên phụ thuộc vào Abstraction (lớp trừu tượng).

Nghe hơi khó hiểu. Bây giờ mình thay đoạn code như này:

// Một interface cho việc ăn mặcpublic interface Outfit public void wear();// Một object cấp thấp, implement của Outfitspublic class Bikini implements Outfit public void wear() System.out.println(“Đã mặc Bikini”); // Bây giờ Girl chỉ phụ thuộc vào Outfit. nếu muốn thay đổi ngay đồ của cô gái, chúng ta chỉ cần cho Outfit một thể hiện mới.public class Girl private Outfit outfit; public Girl() outfit = new Bikini(); Tới đây, chúng ta mới chỉ Abtract hóa thuộc tính của Girl mà thôi, còn thực tế, Girl vẫn đang bị gắn với một bộ Bikini duy nhất. Vậy muốn thay đồ cho cô gái, bạn phải làm như nào.

READ  Phân Loại Những điểm Nút Cơ ( Trigger Point Là Gì ? Tiến

Phải sửa code thêm chút nữa:

public class Girl private Outfit outfit; public Girl(Outfit anything) this.outfit = anything // Tạo ra một cô gái, với một món đồ tùy biến // Không bị phụ thuộc quá nhiều vào thời điểm khởi tạo, hay code. public class Main public static void main(String<> args) Outfit bikini = new Bikini(); // Tạo ra đối tượng Bikini ở ngoài đối tượng Girl ngocTrinh = new Girl(bikini); // Mặc nó vào cho cô gái khi tạo ra cô ấy. Với đoạn code ở trên, chúng ta đã gần như tách được Bikini ra hoàn toàn khỏi Girl. điều này làm sụt giảm sự phụ thuộc giữa Girl và Bikini. Mà tăng tính tùy biến, linh động cho code.

Bây giờ Girl sẽ vận hành với Outfit mà thôi. Và Outfit ở đâu ra? Chúng ta tạo rađưa nó vào (Inject) cô gái Girl.

Xem thêm: Tải Game Trang điểm Công Chúa, Download Princess Salon Makeup Cho Android

*
*

That it, chính nó, đó cũng chính là nguyên lý chính của Inversion of Control (IOC) – Đảo chiều sự điều khiển

Nguyên văn Wiki:

Inversion of Control is a programming principle. flow of control within the application is not controlled by the application itself, but rather by the underlying framework.

Chuyên mục: Hỏi Đáp

 

Các câu hỏi về Dependency injection là gì

Nếu có bắt kỳ câu hỏi thắc mắt nào vê Dependency injection là gì hãy cho chúng mình biết nha, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình nâng cao hơn hơn trong các bài sau nha <3

READ  Vương Quốc Sủng Vật : Liệt Hỏa & Cầu Vồng, Tải Game Vương Quốc Sủng Vật

Bài viết Dependency injection là gì ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết Dependency injection là gì Cực hay ! Hay thì hãy ủng hộ team Like hoặc share.
Nếu thấy bài viết Dependency injection là gì rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nha!!

 

Các Hình Ảnh Về Dependency injection là gì

Dependency injection là gì

Các từ khóa tìm kiếm cho bài viết #Dependency #injection #là #gì

Tham khảo tin tức về Dependency injection là gì tại WikiPedia

Bạn nên xem thêm nội dung chi tiết về Dependency injection là gì từ web Wikipedia.◄

Tham Gia Cộng Đồng Tại

💝 Nguồn Tin tại: http://hocviencanboxd.edu.vn/

💝 Xem Thêm giải đáp thắc mắt tại : http://hocviencanboxd.edu.vn/hoi-dap/

Give a Comment