İşlevsel Programlama x Nesne Yönelimli Programlama

Dec 11 2022
Paradigma olarak bilinen birkaç kodlama stilimiz var. Fonksiyonel Programlama (FP) ve Nesne Yönelimli Programlama (OOP) bunlardan biridir.

Paradigmalar olarak bilinen birkaç kodlama stilimiz var . Fonksiyonel Programlama (FP) ve Nesne Yönelimli Programlama (OOP) bunlardan biridir. Bu iki kodlama stili en ünlü olanlardır ve kesinlikle bir programcı olarak hayatınızda bir kez aralarındaki farkı tanımlamanız gerekecektir. O zaman hadi gidelim!

Fonksiyonel Programlama

Burada birçok fonksiyon ve değişken kullanıyoruz. FP'de, verileri ve işlevleri ayrı tutarız ve yalnızca bir şeyin hesaplanmasını istediğimizde verileri işlevlere aktarırız. Yani bu fonksiyonlardan dönen değerleri kodun başka bir yerinde kullanıyoruz.

Aşağıda, FP kod stilini gösteren bir örneğimiz var. İşlevi verilerden ve işlevden dönen değeri izleyiciyi konsolide etmek için kullandığımızdan ayırdığımıza dikkat edin.

function getArea(a, b) {
    return a * b
}
var a = 2;
var b = 5;
var area = getArea(a, b);

console.log(area); // <= Use Here!

Burada verileri ve işlevleri, nesnelerin içindeki özellikler ve yöntemler olarak gruplandırıyoruz (bu nedenle “nesne yönelimli” adı verilmiştir). Bu, gerçek hayattaki nesnelerin modellerini oluşturmak istediğimizde çok yardımcı olur çünkü birlikte mantıksal anlam ifade eden özellikleri ve verileri gruplandırabiliriz.

Şimdi, OOP kod stilini kullanarak bir köpeğin nasıl inşa edileceğini görelim:

var dog = {
    legs: 4,
    sleepy: true,
    bark: function(){
      if(this.sleepy){
        console.log('Woof, Woof');
      } else {
         console.log('Zzzzz');
      }
    },
    nap: function() {
        this.sleepy = false
    }
}
console.log(dog.sleepy) // true
dog.bark(); // Woof, Woof
dog.nap();
console.log(dog.sleepy) // false
dog.bark(); //Zzzzz

İşlevsel Programlama x Nesne Yönelimli Programlama

Tabii ki, bu iki ayrı tarzın pek çok kavramı ve ilkesi vardır, ancak burada sadece aralarındaki ana farka odaklandım, böylece bir genel bakışa sahip olabilir ve sorulduğunda hızlı bir şekilde yanıtlamaya hazır olabilirsiniz.

Özgeçmişte, Fonksiyonel Programlama paradigmasının veri ve fonksiyonelliği ayrı tutarak, Nesne Yönelimli Programlamanın ise veri ve fonksiyonelliği anlamlı nesnelerde gruplandırarak çalıştığını söyleyebiliriz.

Referans

Profesyonel sertifika Meta Ön Uç Geliştirici — (Kurs 2) — Coursera'da mevcuttur.