Ringkasan
Mengubah antarmuka ke antarmuka lain yang diinginkan pengguna, mode adaptor memungkinkan kelas yang tidak dapat bekerja bersama karena ketidakcocokan antarmuka.
Dua metode implementasi
1. Mode Adaptor Kelas:
2. Mode Adaptor Objek:
Diagram UML dari mode adaptor kelas adalah sebagai berikut:
Pola adaptor kelas mengubah API kelas yang diadaptasi menjadi API kelas target.
Karakter yang dirancang pada gambar di atas adalah:
Target: Ini adalah antarmuka yang Anda cari.
Peran Sumber (Adapee): Antarmuka yang sekarang diperlukan untuk beradaptasi.
Peran Adaptor (Adaptor): Ini adalah inti dari mode ini, dan adaptor mengubah antarmuka sumber menjadi antarmuka target.
Contoh kode:
antarmuka target {void method1 (); void method2 (); // Saya berharap untuk mendapatkan metode ini} // kelas sumber tidak memiliki metode dalam metode2. kelas adapte {public void method1 () {System.out.println ("Method1"); }} adaptor kelas memperluas adaptee mengimplementasikan target {@Override public void method2 () {System.out.println ("Ini metode target"); }} kelas publik Maintest {public static void main (string arg []) {target target = new adapter (); target.method2 (); }} Diagram UML dari mode adaptor objek adalah sebagai berikut:
Gagasan inti sama dengan mode adaptor kelas. Ini hanya mengubah kelas adaptor, tidak mewarisi kelas adapte, tetapi memegang referensi ke kelas adapte. Kodenya adalah sebagai berikut:
antarmuka target {void method1 (); void method2 ();} class adaptee {public void method1 () {System.out.println ("Method1"); }} Kelas adaptor mengimplementasikan target {private adaptee adaptee; adaptor publik (adaptee adaptee) {this.adaptee = adaptee; } @Override public void method2 () {System.out.println ("Ini adalah metode target"); } @Override public void method1 () {// TODO Metode yang dihasilkan otomatis Stub adaptee.method1 (); }} kelas publik Maintest {public static void main (string arg []) {target target = adaptor baru (adaptee baru ()); target.method2 (); }} Keuntungan dan Kekurangan Mode Adaptor:
Reusability yang lebih baik dan skalabilitas yang lebih baik. Sistem perlu menggunakan kelas yang ada, dan antarmuka seperti itu tidak memenuhi kebutuhan sistem, sehingga fungsi -fungsi ini dapat lebih baik digunakan kembali melalui mode adaptor. Saat menerapkan fungsi adaptor, Anda dapat menghubungi fungsi yang Anda kembangkan sendiri untuk memperluas fungsi sistem secara alami.
Kerugian: Terlalu banyak penggunaan adaptor akan membuat sistem ini sangat berantakan dan sulit dipahami secara keseluruhan.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.