Ringkasan
Mode Jembatan Model struktural, yang terutama berkaitan dengan: karena kebutuhan aktual, kelas memiliki dua atau lebih perubahan dimensi. Jika warisan baru saja digunakan, kebutuhan ini tidak akan tercapai, atau desain menjadi cukup kembung.
Mode jembatan adalah untuk mengabstraksi bagian yang berubah, memisahkan bagian yang berubah dari kelas utama, sehingga sepenuhnya memisahkan perubahan dalam beberapa dimensi. Akhirnya, kelas manajemen disediakan untuk menggabungkan perubahan dalam dimensi yang berbeda, dan kombinasi ini digunakan untuk memenuhi kebutuhan bisnis.
Diagram Struktur UML
Contoh Kode
Wawancara Paket; Implemor Antarmuka {void OperationImpl ();} Abstrak Kelas Abstrak {Lapangan implementasi Protected; abstrak publik (implementor implementor) {this.implementor = implementor; } public void operasi () {implementor.operationImpl (); }} class ConcreteImplementora mengimplementasikan implemor {@Override public void OperationImpl () {System.out.println ("Implementasi spesifik a"); }} class ConcreteImplementorB mengimplementasikan implemor {@Override public void OperationImpl () {System.out.println ("Implementasi spesifik B"); }} kelas RefinedAbstraction memperluas abstrak {public refinedabStraction (implementor implementor) {super (implementor); } public void OtherOperation () {System.out.println ("Operasi lain"); }} kelas publik Maintest {public static void main (string arg []) {implementor implementor = new ConcreteImplementorA (); Abstraksi refinedabstraction = refinedabstraction baru (implementor); abstraction.Operation (); abstraction.otheroperation (); }}Gunakan skenario
1. Jika Anda tidak ingin mengadopsi hubungan pengikatan yang tetap di bagian abstraksi dan implementasi, Anda dapat menggunakan mode jembatan untuk memisahkan bagian abstraksi dan implementasi, dan kemudian secara dinamis mengatur implementasi spesifik yang diperlukan untuk abstraksi selama operasi program, dan Anda juga dapat secara dinamis mengubah implementasi spesifik.
2. Jika bagian abstrak dan bagian implementasi harus dapat diperluas, mode jembatan dapat digunakan sehingga bagian abstrak dan bagian implementasi dapat diubah secara independen, sehingga ekspansi dapat diperluas secara fleksibel secara terpisah, daripada diaduk bersama. Satu sisi ekspansi dapat mempengaruhi sisi lain.
3. Jika Anda ingin menerapkan modifikasi parsial, itu tidak akan mempengaruhi pelanggan. Anda dapat menggunakan mode jembatan. Pelanggan menjalankan antarmuka berorientasi abstrak. Modifikasi parsial dapat tidak tergantung pada bagian abstrak, dan itu tidak akan mempengaruhi pelanggan. Ini juga dapat dikatakan transparan kepada pelanggan.
4. Jika skema implementasi yang diwariskan diadopsi, banyak subclass akan dihasilkan. Untuk kasus ini, Anda dapat mempertimbangkan menggunakan mode jembatan untuk menganalisis alasan perubahan fungsi untuk melihat apakah mereka dapat dipisahkan menjadi dimensi yang berbeda, dan kemudian memisahkannya melalui mode jembatan untuk mengurangi jumlah subclass.
Jika suatu sistem perlu menambahkan lebih banyak fleksibilitas antara peran abstrak dan konkret yang dibangun, hindari menciptakan koneksi statis antara kedua tingkat.
Karakter abstrak dan karakter konkret harus dapat disubkilasi. Dalam hal ini, pola jembatan dapat secara fleksibel menggabungkan peran abstrak dan konkret yang berbeda dan berkembang secara mandiri.
Setiap perubahan dalam desain mensyaratkan bahwa peran implementasi tidak boleh mempengaruhi klien, atau bahwa perubahan peran implementasi sepenuhnya transparan terhadap klien.
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.