Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Loose Coupling คืออะไร และวิธีการบรรลุใน Java

Coupling (การผูกมัด) หมายถึงความขึ้นต่อกันระหว่างประเภทของออบเจ็กต์ หากออบเจ็กต์สองตัวเป็นอิสระต่อกันอย่างสมบูรณ์ และการเปลี่ยนแปลงในออบเจ็กต์หนึ่งไม่ส่งผลต่ออีกตัวหนึ่ง ทั้งสองจึงถูกเรียกว่า "Loosely Coupled" (ผูกมัด鬆散)

การบรรลุ Loose Coupling ใน Java ด้วย Interface

ใน Java เราสามารถทำให้เกิด Loose Coupling ได้โดยการใช้ Interface เพื่อกำหนดสัญญาการทำงาน แล้วให้คลาสต่างๆ มา implements interface นั้น ทำให้โค้ดขึ้นอยู่กับการนามธรรม (Abstraction) แทนที่จะเป็นการขึ้นอยู่กับการนำไปใช้งานจริง (Concrete Implementation)

ตัวอย่างโค้ด

interface Animal {
    void child();
}

class Cat implements Animal {
    public void child() {
        System.out.println("kitten");
    }
}

class Dog implements Animal {
    public void child() {
        System.out.println("puppy");
    }
}

public class LooseCoupling {
    public static void main(String args[]) {
        Animal obj = new Cat(); // ผูกมัดกับ Interface ไม่ใช่ Class จริง
        obj.child();
    }
}

ผลลัพธ์

kitten

คำอธิบาย: ตัวแปร obj มีชนิดเป็น Animal (Interface) แต่ชี้ไปที่ออบเจ็กต์ Cat หากต้องการเปลี่ยนเป็น Dog เพียงเปลี่ยนบรรทัด new Cat() เป็น new Dog() เท่านั้น โค้ดส่วนอื่นไม่ต้องแก้ไข นี่คือหัวใจของ Loose Coupling