Kekuatan template desain penerjemah dalam JavaScript Oleh jsmanifest | Juni 2022

Programming

[ad_1]
Selamat datang Sob di suratpembaca.web.id. Dalam kesempatan ini kita akan membahas tentang Linux yakni Kekuatan template desain penerjemah dalam JavaScript Oleh jsmanifest | Juni 2022

.

Mudah-mudahan postingan tentang Kekuatan template desain penerjemah dalam JavaScript Oleh jsmanifest | Juni 2022

dapat memberikan manfaat bagi Sahabat semua. Mari baca artikel ini
hingga selesai.

Interpretasi diperlukan

gambar mini
Gambar oleh penulis

Pada artikel ini, kita akan memeriksa pola desain penerjemah dalam JavaScript. Kami akan menjalankan penerjemah serta representasi tata bahasa dasar dari kode sumber. Kami akan membuat antarmuka untuk menggunakan kode klien (misalnya parser).

Pola desain dibagi menjadi tiga kategori: perilaku, kreatif, dan struktural. Penerjemah termasuk dalam kelompok Perilaku. Dari semua pola, penerjemah tampaknya yang paling membingungkan orang, tetapi menurut pengalaman saya, berpikir dari perspektif tingkat yang lebih tinggi (di luar kotak) membantu menyalakan lampu itu secara tiba-tiba dalam pikiran kita.

Terkadang kita mungkin menghadapi situasi di mana kita membutuhkan antarmuka untuk memberi tahu penerjemah bagaimana menafsirkan berdasarkan konteks tertentu. Template ini juga banyak digunakan dalam penguraian SQL, mesin pengolah simbol dan sebagainya.

Anggap saja sebagai membuat “bahasa skrip”.

Misalnya, array dapat memiliki lebih banyak array di salah satu indeksnya, yang dapat berisi lebih banyak array, dan seterusnya. Kode berikut adalah:

Tujuannya adalah untuk membuat semacam tampilan “tata bahasa” yang dapat dibalik dalam banyak kasus.

Jika kita melihat strukturnya, setiap bagian dalam tampilan tata bahasa atau majemuk atau daun pohon. Dari perspektif tingkat yang lebih tinggi, pertimbangkan bagaimana representasi gramatikal ini membentuk struktur pola desain hibrida:

interpreter-design-pattern-composite-structure.png

Perhatikan bagaimana ada beberapa anak yang memiliki lebih banyak anak dan kedalamannya meningkat sesuai kebutuhan. Di sinilah kembali berguna dan sangat penting dalam algoritma navigasi.

Peserta utama dalam template ini adalah penerjemah itu sendiri.

Terapkan tampilan penerjemah dan tata bahasa

Mari kita lanjutkan dan buat penerjemah. Penerjemah punya satu interpret Metode yang bertanggung jawab untuk mengeksekusi kode kita dan menghasilkan token darinya. Token ini berisi aturan yang dibutuhkan penerjemah untuk membuat frasa majemuk untuk memahami kode klien, seperti parser:

Mari kita lihat baris pertama (kita memulai ini sebagai array kosong agar lebih mudah dipahami):

Jika kita ingin membaca baris ini dalam kode, bagaimana cara memanipulasi nama? items Ke collection?

Kita dapat membacanya baris demi baris dan melakukan sesuatu seperti ini:

Namun, ini tidak terlalu efisien karena tidak ada cara yang dapat diandalkan untuk melihat profil sebelumnya/berikutnya serta kemampuan untuk mengidentifikasi baris atau kolom mana yang dimulai dengan frasa, notifikasi, dan sebagainya tertentu. Cara untuk melakukan hal-hal berguna seperti memperbarui jenis penyiar (varkan letkan const).

Saat kami menggunakan template Interpreter, kami membuat antarmuka nyata yang mengambil kode itu, menghubungkan objek terkait yang menunjukkan bagian tata bahasa yang sesuai, dan menginstruksikan penerjemah untuk: Apa yang harus dilakukan dengan mereka. Ingat, masing-masing objek tersebut memiliki aturannya sendiri yang memandu interpreter dan menghasilkan output yang dapat dipahami oleh kode klien, seperti parser.

Jadi, kembali ke baris ini:

Kita dapat membuat antarmuka sebagai gantinya. Sekarang perlu diingat bahwa antarmuka ini adalah bagian paling kuat dari template ini karena kita dapat menyesuaikan setiap kelas untuk melakukan apa pun yang kita inginkan, seperti menimpa secara default. toString Metode:

Penuh! Ini adalah pola desain penerjemah yang sedang beraksi! Kami sekarang memiliki beberapa pertunjukan untuk tata bahasa kami.

Templat ini sangat kuat. Dengan menginstal antarmuka ini, kita dapat melihat bahwa kita telah menulis ulang semua item default toString Metode setiap kelas untuk structure for our domain.

Selanjutnya, kita membutuhkan penerjemah untuk menerima kode sumber dan membacanya. Penerjemah kami adalah versi yang jauh lebih sederhana dari apa yang digunakan dalam praktik nyata. Demi posting ini, saya hanya menyertakan bagian yang diperlukan untuk sepenuhnya menggambarkan one-liner kami, seperti yang ditunjukkan di bawah ini:

Dengan melakukan ini, kode klien dapat menggunakan juru bahasa kami dan memanipulasi baris kode kami sebagai berikut:

Teks tertulis

Objek latar belakang biasanya digunakan dalam interpreter majemuk. Jika kita bisa lulus toString Di semua objek tata bahasa kita, kita pasti dapat memasukkan informasi status yang berguna ke dalam objek yang disebut context.

Misalnya, kita dapat melewati kode klien undefined Nilai saat membuat output ekspresi array:

array-ekspresi-manipulasi-interpreter-design-pattern.png
juru-desain-pola-dengan-konteks.png
  • Pola penerjemah adalah yang paling kuat saat bekerja dengan struktur komposit. Dengan kata lain, menggabungkan pola komposit dengan pola interpreter sangat penting ketika berhadapan dengan struktur komposit.
  • Dalam pola konstruktor, konstruktor dapat digunakan untuk membuat struktur hierarkis sebagai representasi gramatikal dari suatu bahasa dan memungkinkan klien untuk menggunakannya dengan pola juru bahasa.
  • Pabrik abstrak dapat digunakan untuk membuat objek kompleks (misalnya dalam JavaScript ini bisa menjadi pernyataan pengembalian fungsi yang sangat panjang dengan banyak ekspresi biner)
  • Seperti pola hibrida, pola pengunjung dan pengulang juga kuat dengan juru bahasa. Pengunjung sering diimplementasikan dengan algoritma pengguliran rekursif yang mengimplementasikan pola iteratif. Penerjemah dapat menggunakan pengunjung untuk menyeberangi pohon majemuk.
penerjemah-desain-pola-hubungan-dalam-javascript.png

Terima kasih telah membaca dan nantikan postingan berkualitas lainnya di masa mendatang!

Itu tadi artikel mengenai Kekuatan template desain penerjemah dalam JavaScript Oleh jsmanifest | Juni 2022

, terimakasih telah berkunjung di website saya, semoga artikelnya ada manfaatnya ya.

[ad_2]

Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.