Merhabalar bu yazım ile birlikte yeni bir seriye başlıyorum. Sizlere fonksiyonel programlama yapısını ve paradigmalarını Swift dili ile gerçeklemeye çalışıp, paylaşacağım. Programlama yaklaşımlarından biri olan fonksiyonel programlama çoğu modern programlama dili içerisinde kullanılmaktadır. Bu dillerin tamamında direkt olarak fonksiyonel programlamaya uygun yapı olmasada, dillerin içerisinde bu yapı oluşturulabilinir.
Fonksiyonel programlama yapı olarak aşağıdaki avantajları sağlar:
- Kodun modüler olmasını sağlar.
- Kodun tekrar kullanabilirliğini sağlar.
- Kodun okunaklılığını artırır.
- Kodun analizini ve testini kolaylaştırır.
Fonksiyonel programlama, her şeyi, durumu ve mutasyona uğramış verileri değiştirmeyi önleyen bir fonksiyonun sonucu olarak modellediğiniz bir programlama paradigmasıdır diyebiliriz. Fonksiyonel programlama, imperative değil, declarative’dir ve uygulamanın state’i pure fonksiyonlar boyunca akar. Object oriented programlamanın tersine, uygulamanın state’i objelerin içinde olur ve fonksiyonlar yardımıyla erişilir. Yani ismindende anlaşılacağı gibi tüm işlemleri fonksiyonlar yardımı ile hallederiz. Programlama dili olarak Haskell buna en güzel örnektir. Bu paradigma daha sonra React yapısınında temelini oluşturacaktır. Ancak buna daha sonra bir yazımda değineceğim.
Dezavantaj olarak modellenmesi o kadar kolay olmadığını düşünmekteyim. Her projeye uygun olduğu söylenemez. Swift dili ile bu yapıyı oluşturmamız için Generics, Optional konuları çok önemlidir. Bundan sonraki yazılarımda vereceğim örneklerde bunları göreceksiniz.
Bu yazı yorumlara kapalı.