Sejak beberapa minggu lalu, saya telah berkongsi beberapa corak reka bentuk yang menjadi sohor kini, seperti PubSub dan Singleton. Hari ini, saya akan berkongsi satu lagi artikel siri ini, tetapi sila komen di bawah dan beritahu saya corak reka bentuk mana yang perlu saya tutup seterusnya!
Corak Penyesuai ialah corak reka bentuk struktur yang membenarkan objek dengan antara muka yang tidak serasi untuk bekerjasama. Ia sering digunakan apabila anda ingin membuat kelas sedia ada berfungsi dengan orang lain tanpa mengubah suai kod sumbernya. Corak ini amat berguna apabila antara muka kelas sedia ada tidak sepadan dengan yang anda perlukan.
Mari kita pertimbangkan contoh kehidupan sebenar. Anda telah ditugaskan untuk menyepadukan pemain video pihak ketiga ke dalam aplikasi anda. Walau bagaimanapun, pemain video berfungsi secara berbeza dan mempunyai antara muka kaedah yang berbeza daripada jangkaan aplikasi anda. Dalam kes ini, anda boleh menggunakan Corak Penyesuai untuk membuat kelas pembalut di sekeliling pemain video, menjadikan kod pihak ketiga serasi dengan kod aplikasi sedia ada anda.
Berikut ialah kod yang anda akan gunakan dalam kes ini:
// Adapter class class VideoPlayerAdapter { constructor() { this.externalPlayer = new ThirdPartyVideoPlayer({ // some configuration }); } play() { const video = this.externalPlayer.getVideo(); this.externalPlayer.playVideo(video, { // additional parameters }); } } // Your application code class Application { constructor() { this.videoPlayer = new VideoPlayerAdapter(); } start() { // Play video using your application code this.videoPlayer.play(); } }
Jom pecahkan kod di atas:
Dengan cara ini, kelas Aplikasi tidak perlu mengetahui apa-apa tentang cara ThirdPartyVideoPlayer berfungsi. Jika anda perlu menggantikan ThirdPartyVideoPlayer dengan perpustakaan yang berbeza, anda hanya perlu menulis penyesuai baharu — kelas Aplikasi boleh kekal sama. Ini ialah faedah utama corak Penyesuai: ia memisahkan kod aplikasi anda daripada butiran perpustakaan pihak ketiga.
Walaupun Corak Penyesuai dan Corak Fasad mungkin kelihatan serupa, ia mempunyai tujuan yang berbeza dan digunakan dalam konteks yang berbeza:
Ringkasnya, sementara kedua-dua corak menyediakan cara untuk berfungsi dengan kod sedia ada, Corak Penyesuai memfokuskan pada keserasian antara muka, manakala Corak Fasad memfokuskan pada memudahkan interaksi dengan sistem yang kompleks.
Jadi, sementara anda berada di sini, izinkan saya menjemput anda untuk menyertai Superthis Ogos kami yang akan datang!
Acara jauh ini memberi anda peluang untuk mempamerkan kemahiran dan kreativiti anda dengan menangani cabaran untuk mengubah interaksi maya anda dengan alatan komunikasi masa nyata kami. Dengan SuperViz, anda berpeluang memenangi hadiah $5,000.
Daftar sekarang untuk menerima kemas kini, petua dan sumber serta bersedia untuk menggodam!
Atas ialah kandungan terperinci Corak Reka Bentuk # Corak Penyesuai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!