Menu

Unity3D ve C#

A Game Developer's Notebook

Linkedin

FP vs. OO

Robert C. Martin’in Functional Programming mi, Object Oriented Programming mi sorusuna iyimser ve birleştirici bir yaklaşım sunduğu bu makalesini tavsiye ediyorum. Ben yalnızca okurken altını çizdiğim yerleri sizinle paylaşacağım.

İyi bir fonksiyonel programlama nesne yönelimli olmalıdır. İyi bir nesne yönelimli programlama, fonksiyonel olmalıdır.

Çok biçimlilik(polymorphism) olmadan nesne yönelimli programlama olmaz.

Nesne yönelimli olan ve nesne yönelimli olmayan programlamanın arasındaki en gerçek fark çok biçimliliktir.

Çok biçimliliğin uygulanma yöntemi çağıran ve çağrılan arasında kod bağımlılığı yaratmamalı.

Nesne yönelimli programlamayı şöyle tanımlayabiliriz o halde; fonksiyonları çağıranın kaynak kodu ve çağrılanın kaynak kodu arasında bağımlılık olmadan çağırmak için çok dinamik biçimliliği kullanma tekniği…

Dinamik çok biçimliliği ve referential transparency’yi (Belli bir fonksiyonun içine bir girdi değeri verirsen, hep aynı sonucu alırsın. Anlamı bu. Örnek olarak – f(3) = 4. f(x) = x+1) birlikte kullanan bir sistemi yaratmak mümkündür. Mümkün olması bir kenara, zaten istenilendir.

Fonksiyonel ve nesne yönelimli programlama karşı karşıya değildir. Aksine, bu iki programlama yöntemi birlikte çalışırlar.

Fonksiyonel programlama ve nesne yönelimli programlama prensiplerini kullanarak oluşturulan bir sistem, olabildiğince esnek, olabildiğince sürdürülebilir, olabildiğince test edilebilir, olabildiğince sade ve olabildiğince dayanıklıdır.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.