Interpreter Desain Pola

chmood
Maksud

Β  Β Mengingat bahasa, mendefinisikan representasi untuk tata bahasa bersama dengan juru yang menggunakan representasi untuk menafsirkan kalimat dalam bahasa.
Memetakan domain ke bahasa, bahasa untuk tata bahasa, dan tata bahasa untuk desain berorientasi objek hirarkis.

Β  Β Sebuah kelas masalah terjadi berulang kali dalam domain yang jelas dan dipahami dengan baik. Jika domain yang ditandai dengan "bahasa", maka masalah bisa dengan mudah dipecahkan dengan interpretasi "mesin".

Β  Β Pola Interpreter membahas: mendefinisikan bahasa domain (yaitu masalah karakterisasi) sebagai tata bahasa yang sederhana, yang mewakili aturan domain sebagai kalimat bahasa, dan menafsirkan kalimat ini untuk memecahkan masalah. Pola ini menggunakan kelas untuk mewakili setiap aturan tata bahasa. Dan karena tata bahasa biasanya hirarkis dalam struktur, hirarki warisan dari kelas aturan peta baik.

Kelas dasar abstrak menentukan metode menafsirkan (). Setiap subclass beton mengimplementasikan menafsirkan () dengan menerima (sebagai argumen) keadaan saat aliran bahasa, dan menambahkan kontribusinya terhadap proses pemecahan masalah.


Β  Β Interpreter menunjukkan pemodelan domain dengan tata bahasa rekursif. Setiap aturan dalam tata bahasa yang bersangkutan merupakan 'komposit' (aturan yang merujuk aturan lain) atau terminal (simpul daun dalam struktur pohon). Interpreter bergantung pada traversal rekursif dari pola Komposit untuk menafsirkan 'kalimat' itu diminta untuk proses.


Β  Β Pola Interpreter mendefinisikan representasi gramatikal untuk bahasa dan juru bahasa untuk menafsirkan tata bahasa. Musisi adalah contoh Juru. Nada suara dan durasinya dapat direpresentasikan dalam notasi musik pada staf. Notasi ini menyediakan bahasa musik. Musisi bermain musik dari skor mampu mereproduksi lapangan asli dan durasi masing-masing suara diwakili.


Periksa daftar
Β  Β Memutuskan apakah "bahasa kecil" menawarkan pengembalian dibenarkan atas investasi.
Mendefinisikan tata bahasa untuk bahasa.
Memetakan setiap produksi di tata bahasa untuk kelas.
Mengatur suite kelas ke dalam struktur pola Komposit.
Mendefinisikan metode menafsirkan (Konteks) dalam hirarki Composite.
Objek Konteks merangkum keadaan saat input dan output sebagai mantan parsing dan yang terakhir adalah akumulasi. Hal ini dimanipulasi oleh masing-masing kelas tata bahasa sebagai "menafsirkan" proses mengubah input menjadi output.

Aturan praktis
Β  Β Dipertimbangkan dalam bentuk yang paling umum (yaitu operasi didistribusikan melalui hirarki kelas berdasarkan pola Komposit), hampir setiap penggunaan pola Composite juga akan berisi pola Interpreter. Tapi pola Interpreter harus disediakan untuk kasus-kasus di mana Anda ingin untuk berpikir hirarki kelas ini sebagai mendefinisikan bahasa.
Interpreter dapat menggunakan Negara untuk menentukan konteks parsing.
Pohon sintaks abstrak Interpreter adalah Komposit (karena itu Iterator dan Pengunjung juga berlaku).
Simbol terminal dalam pohon sintaks abstrak Interpreter dapat dibagi dengan kelas terbang.
Pola tidak membahas parsing. Ketika tata bahasa sangat kompleks, teknik lain (seperti parser) yang lebih tepat.


Komentar