Interpreter Design Pattern Kod Örneğiyle
May 1, 2022
Interpreter; Bilgisayarın anlayamadığı ifadeleri anlayacağı şekile getirerek bir çeviri yapan tasarım desenidir.
Wiki: https://en.wikipedia.org/wiki/Interpreter_pattern
Senaryolar
- Roman rakamlarını sayısa çevirmek
- Sayısal bir binary ifadesini normal sayılara çevirme
- Tespit edilmiş yüksek ses veri oranlarının, ses verisinin içerisinden temizlenmesi.
- Bizim bildiğimiz ama bilgisayarın bilmediği bir ifadeyi belirleterek gelen veriyle bunu bilgisayarın anlayacağı ifadeye çevirmektir.
Maddelersek
- Context sınıfı genellikle input ve output olarak verinin tutulduğu sınıftır.
- AbstractExpression ifadelerde ne tür işlemler yapılacaksa zorunlu fonksiyonlar belirlenir.
- Terminal Expression ifadenin karşılığını veren sınıftır.
- NonTerminalExpression, Terminal Expression’daki ifadelerle yapılan mantıksal işlemlerin yapıldığı sınıftır. Örneğin + — / * && || gibi.