Reactive Programming Nedir?

Merhaba,

Günümüzde çoğu programlama dili prosedürel(procedural) programlama temelinde çalışmaktadır. Bu yaklaşım ile; problemin çözüm aşamalarını yazılımcı adım adım kodlar, makine ise adım adım bu aşamaları çalıştırarak veriler işlenir ve sonuç üretilir. Oluşturulan kod yapısı ardışıl olarak oluşturulmuş aşamalara ve sürecin sonuna odaklanmıştır ve sarsılmaz bir şekilde bu süreç işlemektedir. Eğer ki, bu ardışıl yapıdaki sürece farklı bir değer katılmaya çalışırsa yapı buna müsaade etmeyecek, sıralama ya baştan yapılması gerekecek ya da tüm çalışmalar geri alınarak(callback) hesap tekrardan uygulanacaktır.

Reactive Programlama Nedir?

Biz burada sürece katılmaya çalışan farklı değeri yan etki olarak ele alırsak eğer şöyle bir tarifi rahatlıkla yapabiliriz;

Kodun akış sürecinde olası yan etkileri anında ya da sürecin herhangi bir “T” noktasında işleme alabilecek şekilde yapılan tasarımlara sahip uygulamalara ya da kod parçacıklarına Reactive denir. Burada, prosedurel programlamadakinden reactive uygulamaları ayıran en mühim fark, adım adım kod takip etmek yerine event(olay) takip etme özelliğidir.

Peki OOP ile Reactive Programming Arasındaki Fark Nedir?

OOP ile yazılımlar, gerçek hayattaki olguları nesneler ile modelleyerek tasarlanmaktadır. Reactive Programming’te ise gerçek hayattaki olaylar baz alınarak tasarım gerçekleştirilmektedir.

Olayı daha da teknik olarak ele alırsak eğer; kod sürecinde bir değişikliğin komple veri akışında yayılımıdır diyebiliriz.
Örneğin;

x = y + z

işleminde “y” değişkeninin değeri ile “z” değişkeninin değeri toplanıp “a” değişkenine atanmaktadır. Eğer ki prosedürel programlama mantığında hareket ederseniz, süreçte “y” veya “z” değişkenlerinden birinin değeri değişirse bu değişiklik “x” değişkenine yansımayacaktır. Çünkü ardışıl işlem sıralamasında “x” değişkeninin değeri çoktan belirlenmiştir ve artık bu değer “y” ve “z” den bağımsızdır. Reactive programlamada ise “y” ve “z” değişkenlerinin değeri değiştiğinde “a” değişkeninin değeride bu değişime göre şekillenecektir. Çünkü ardışıl işlem sıralamasından öte olaylar baz alınacağından dolayı sistem hangi noktada olursa olsun “x” değişkeninin değerini “y” ve “z” değişkenlerinin toplam sonucuna bağlamaktadır ve bu değişkenlerin değerleri değişse dahi bu olay üzerine “x” değişkenide tepkisini yeni değişiklikler üzerinden kendi değerini güncellemekle verecektir diyebiliriz.

Son olarak Stream Of Events teriminede değinirsek eğer;
Programlar birden fazla olayı ele aldıklarında bu olayları dizi gibi Stream dediğimiz yapılarda tutmaktadırlar. Reactive uygulamalar Stream yapıları üzerine kuruludur ve bu yapı akış sürecinde birçok yolla uygulamaya ulaşabilmektedirler. Eee haliyle uygulama her daim bu Stream’lere cevap verebilecek durumdadır ve olmalıdır.

Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Copy Protected by Chetan's WP-Copyprotect.