


Pelajari kemahiran templat kaedah corak reka bentuk JavaScript pattern_javascript
1. Definisi
Kaedah templat adalah berdasarkan corak reka bentuk warisan, yang boleh meningkatkan kebolehskalaan sistem. Kelas induk abstrak dan subkelas dalam java
Kaedah templat terdiri daripada dua bahagian struktur, bahagian pertama ialah kelas induk abstrak, dan bahagian kedua ialah subkelas pelaksanaan konkrit.
2. Contoh
Kopi atau Teh
(1) Didihkan air
(2) Rendam daun teh dalam air mendidih
(3) Tuangkan teh ke dalam cawan
(4) Masukkan limau
/* 抽象父类:饮料 */ var Beverage = function(){}; // (1) 把水煮沸 Beverage.prototype.boilWater = function() { console.log("把水煮沸"); }; // (2) 沸水浸泡 Beverage.prototype.brew = function() { throw new Error("子类必须重写brew方法"); }; // (3) 倒进杯子 Beverage.prototype.pourInCup = function() { throw new Error("子类必须重写pourInCup方法"); }; // (4) 加调料 Beverage.prototype.addCondiments = function() { throw new Error("子类必须重写addCondiments方法"); }; /* 模板方法 */ Beverage.prototype.init = function() { this.boilWater(); this.brew(); this.pourInCup(); this.addCondiments(); } /* 实现子类 Coffee*/ var Coffee = function(){}; Coffee.prototype = new Beverage(); // 重写非公有方法 Coffee.prototype.brew = function() { console.log("用沸水冲泡咖啡"); }; Coffee.prototype.pourInCup = function() { console.log("把咖啡倒进杯子"); }; Coffee.prototype.addCondiments = function() { console.log("加牛奶"); }; var coffee = new Coffee(); coffee.init();
Menggunakan corak kaedah templat, rangka kerja algoritma subkelas dirangkumkan dalam kelas induk. Rangka kerja algoritma ini sesuai untuk kebanyakan subkategori dalam keadaan biasa, tetapi subkategori "personaliti" juga akan muncul.
Seperti dalam proses di atas, menambah perasa adalah pilihan.
Kaedah cangkuk boleh menyelesaikan masalah ini. Meletakkan cangkuk adalah cara biasa untuk mengasingkan perubahan.
/* 添加钩子方法 */ Beverage.prototype.customerWantsCondiments = function() { return true; }; Beverage.prototype.init = function() { this.boilWater(); this.brew(); this.pourInCup(); if(this.customerWantsCondiments()) { this.addCondiments(); } } /* 实现子类 Tea*/ var Tea = function(){}; Tea.prototype = new Beverage(); // 重写非公有方法 Tea.prototype.brew = function() { console.log("用沸水冲泡茶"); }; Tea.prototype.pourInCup = function() { console.log("把茶倒进杯子"); }; Tea.prototype.addCondiments = function() { console.log("加牛奶"); }; Tea.prototype.customerWantsCondiments = function() { return window.confirm("需要添加调料吗?"); }; var tea = new Tea(); tea.init();
JavaScript tidak menyediakan warisan kelas sebenar dicapai melalui perwakilan antara objek.
3. "Prinsip Hollywood": Jangan hubungi kami, kami akan panggil anda
Senario penggunaan biasa:
(1) Corak kaedah templat: Menggunakan corak reka bentuk ini bermakna subkelas melepaskan kawalan dirinya dan sebaliknya memaklumkan subkelas oleh kelas induk. Sebagai subkelas, ia hanya bertanggungjawab untuk menyediakan beberapa butiran reka bentuk.
(2) Mod pemerhati: Penerbit menolak mesej kepada pelanggan.
(3) Fungsi panggil balik: permintaan tak segerak ajax merangkumkan operasi yang perlu dilakukan dalam fungsi panggil balik ini hanya dilaksanakan apabila data dikembalikan.
Saya harap artikel ini akan membantu semua orang yang mempelajari pengaturcaraan JavaScript.

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Corak Kaedah Templat mentakrifkan rangka kerja algoritma dengan langkah khusus yang dilaksanakan oleh subkelas Kelebihannya termasuk kebolehlanjutan, penggunaan semula kod dan ketekalan. Dalam kes praktikal, rangka kerja pengeluaran minuman menggunakan corak ini untuk mencipta algoritma pengeluaran minuman yang boleh disesuaikan, termasuk kelas kopi dan teh, yang boleh menyesuaikan langkah pembuatan bir dan perasa sambil mengekalkan konsistensi.

Dalam rangka kerja Java, perbezaan antara corak reka bentuk dan corak seni bina ialah corak reka bentuk mentakrifkan penyelesaian abstrak kepada masalah biasa dalam reka bentuk perisian, memfokuskan pada interaksi antara kelas dan objek, seperti corak kilang. Corak seni bina mentakrifkan hubungan antara struktur sistem dan modul, memfokuskan pada organisasi dan interaksi komponen sistem, seperti seni bina berlapis.

Corak Penyesuai ialah corak reka bentuk struktur yang membolehkan objek yang tidak serasi berfungsi bersama Ia menukar satu antara muka kepada yang lain supaya objek boleh berinteraksi dengan lancar. Penyesuai objek melaksanakan corak penyesuai dengan mencipta objek penyesuai yang mengandungi objek yang disesuaikan dan melaksanakan antara muka sasaran. Dalam kes praktikal, melalui mod penyesuai, pelanggan (seperti MediaPlayer) boleh memainkan media format lanjutan (seperti VLC), walaupun ia sendiri hanya menyokong format media biasa (seperti MP3).

Corak penghias ialah corak reka bentuk struktur yang membolehkan penambahan dinamik fungsi objek tanpa mengubahsuai kelas asal. Ia dilaksanakan melalui kerjasama komponen abstrak, komponen konkrit, penghias abstrak dan penghias konkrit, dan boleh mengembangkan fungsi kelas secara fleksibel untuk memenuhi keperluan yang berubah-ubah. Dalam contoh ini, penghias susu dan mocha ditambahkan pada Espresso untuk jumlah harga $2.29, menunjukkan kuasa corak penghias dalam mengubah suai gelagat objek secara dinamik.

1. Corak kilang: Asingkan penciptaan objek dan logik perniagaan, dan cipta objek jenis tertentu melalui kelas kilang. 2. Corak pemerhati: membenarkan objek subjek memberitahu objek pemerhati tentang perubahan keadaan mereka, mencapai gandingan longgar dan corak pemerhati.

Corak reka bentuk menyelesaikan cabaran penyelenggaraan kod dengan menyediakan penyelesaian yang boleh digunakan semula dan boleh diperluas: Corak Pemerhati: Membenarkan objek melanggan acara dan menerima pemberitahuan apabila ia berlaku. Corak Kilang: Menyediakan cara terpusat untuk mencipta objek tanpa bergantung pada kelas konkrit. Corak Singleton: memastikan bahawa kelas hanya mempunyai satu contoh, yang digunakan untuk mencipta objek yang boleh diakses secara global.

TDD digunakan untuk menulis kod PHP berkualiti tinggi Langkah-langkahnya termasuk: menulis kes ujian, menerangkan fungsi yang diharapkan dan menjadikannya gagal. Tulis kod supaya hanya kes ujian lulus tanpa pengoptimuman yang berlebihan atau reka bentuk terperinci. Selepas kes ujian lulus, optimumkan dan faktorkan semula kod untuk meningkatkan kebolehbacaan, kebolehselenggaraan dan kebolehskalaan.

Kelebihan menggunakan corak reka bentuk dalam rangka kerja Java termasuk: kebolehbacaan kod yang dipertingkatkan, kebolehselenggaraan dan kebolehskalaan. Kelemahan termasuk kerumitan, overhed prestasi dan keluk pembelajaran yang curam akibat penggunaan berlebihan. Kes praktikal: Mod proksi digunakan untuk malas memuatkan objek. Gunakan corak reka bentuk dengan bijak untuk memanfaatkan kelebihannya dan meminimumkan kelemahannya.
