Dependency Injection trong Java?

Các anh, bạn cho mình hỏi Dependency Injection là gì vậy? Nó sử dụng như thế nào? Và nó có nhiệm vụ gì?
@laptrinhio @ltd

1 Like

Nó là 1 mô hình để bạn viết phần mềm.
Bạn đọc link này thử xem :
https://codedaily.vn/2015/02/dependency-injection/

2 Likes

Là một phương pháp dùng để giảm độ liên kết giữa các module.

Cách triển khai, cơ bản là nhúng vào một đối tượng có hành vi đặc biệt, không quan tâm đối tượng đó cụ thể là cái gì, chỉ cần thực hiện hành vi đặc biệt đó là được.

interface Speakable
    public function speak(string message);

class Human implements Speakable
    public function speak($message) 
        output "Human speaks: " . $message;

class Animal implements Speakable
    public function speak($message)
        output "Animal speaks: " . $message;

class Radio implements Speakable
    public function speak($message)
        output "Radio speaks: " . $message;

class Host
    protected Speakable $mSpeak;

    public function setSpeaker(Speakable $speak)
        $mSpeak = $speak;

    public function speak($message)
        output $mSpeak->speak($message);

class Program
    public static function Main()
        Host host = new Host();
        host.setSpeaker(new Human);
        host.speak("Du bao thoi tiet");
        host.setSpeaker(new Animal);
        host.speak("I am hungry..");
        host.setSpeaker(new Radio);
        host.speak("Lady Gaga is singing");
3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?