OOP'a ilginç bir bakış - sayfa 12

 
fxsaber :

Bunun bir alışkanlık ve sözdizimi bilgisi meselesi olduğunu anlıyorum, ancak orijinalin yazarı olmama rağmen kodu girmek benim için çok zor.

FP tarzında MQL'de maalesef hiçbir şey yok. Kısaca şu yaklaşım kullanılır: Teklif koşulları (PammSet), teklif koşullarını finansal sonuca dönüştüren işlevler (AccountRecord) vardır. Her iki tür de değişmezdir, oluşturma sırasında belirlenir. Görev, bir dizi teklif oluşturmaya ve bu setin her bir öğesini finansal bir öğeyle karşılaştırmaya indirgenmiştir. eşleştirme fonksiyonu (Set1, Set2, Set3) aracılığıyla sonuç verir. Anahtar öğe, dizinin her bir öğesine Func<in, out> biçimindeki rastgele bir işlevi uygulayan Select işlevidir.

 

FP ve OOP üzerine Jacque Fresco


 
Ve bu FP'nin işlev işaretçilerini kullanmaktan temelde farkı nedir?
 
Dmitry Fedoseev :
Ve bu FP'ninişlev işaretçilerini kullanmaktan temelde farkı nedir?

işte bu, sadece FP'de sözdizimi daha uygun.

tüm kod mimarisinin buna dayandığından çok daha uygun

örneğin, fare tıklandığında gerçekleştirilecek bir görevi alacak bir blok oluşturabilirsiniz .... örneğin, GUI için.

ve orada aramaları bir liste halinde toplarsınız ve tamamlanacak bir görev eklersiniz.

misal

Button1.MouseClickAdd(()=>(İşte Funk() stil fonksiyonumuza bir bağlantı;))

aynı zamanda, böyle bir ayar, yani bir görev, butonlardaki eylemlerini yapılandırmak için panelimizin kodunu kullanan kullanıcının kendisi tarafından eklenebilir....

bu durumda, işlevin bağlaması görünürlük ortamından alınacaktır. onlar. Bir sınıf ve herhangi bir şey ekleyebilirsiniz. Onlar. fonksiyonun nihai sonucunu değil, bu koşul oluştuğunda hangi fonksiyonun yürütülmesi (çağrı) gerektiğini ekliyoruz

 
Dmitry Fedoseev :
Ve bu FP'ninişlev işaretçilerini kullanmaktan temelde farkı nedir?

FP, lambda hesabının bir uygulamasıdır ve zorunlu programlama (OOP dahil) bir Turing makinesinin bir uygulamasıdır.

 
Aleksey Nikolayev :

FP, lambda hesabının bir uygulamasıdır ve zorunlu programlama (OOP dahil) bir Turing makinesinin bir uygulamasıdır.

mantıksal olarak)

 

Sanırım "sinek ve köfte" yi tartışıyoruz.

FP, OOP için harika bir alternatifse, yukarıda gösterilen örneği değil, FP'de yapılan bir GUI örneğini gösterin

Кнопка 1 .MouseClickAdd(()=>(тут ссылка на нашу функцию в стиле Funk();))

ancak düğmelerin kendileri, onay kutuları, kaydırma çubukları vb. - ve FP'de yapılan her şey


IMHO, FP, C ++ bağımlılığını engellememek için sorunun resmileştirilmesini ve çözümünü basitleştirmeye yardımcı olursa   doğrusal kod yürütmeden (yukarıdan aşağıya) - harika! ancak FP'nin OOP'ye (prosedürel tarzdan doğan) bir alternatif olduğunu tartışmak için, IMHO yumuşak ve sıcak bir başka karşılaştırma

 
Igor Makanu :

Sanırım "sinek ve köfte" yi tartışıyoruz.

FP, OOP için harika bir alternatifse, yukarıda gösterilen örneği değil, FP'de yapılan bir GUI örneğini gösterin

ancak düğmelerin kendileri, onay kutuları, kaydırma çubukları vb. - ve FP'de yapılan her şey


IMHO, FP, C ++ bağımlılığını engellememek için sorunun resmileştirilmesini ve çözümünü basitleştirmeye yardımcı olursa   doğrusal kod yürütmeden (yukarıdan aşağıya) - harika! ancak FP'nin OOP'ye (prosedürel tarzdan doğan) bir alternatif olduğunu tartışmak için, IMHO yumuşak ve sıcak bir başka karşılaştırma

Burada sadece biri diğerini engellemez, tamamlar.

ve isterseniz, işgal çok şüpheli olmasına rağmen, Taika yapısı ile OOP sağında olduğu gibi FP'ye de çit yapabilirsiniz.
 
Alexandr Andreev :

Burada sadece biri diğerini engellemez, tamamlar.

bunun hakkında yazıyorum

ve konunun ilk mesajındaki makale, randevu ile tamamen farklı 2 programlama paradigmasını karşılaştırmaya çalışır

 
Aleksey Nikolayev :

FP, lambda hesabının bir uygulamasıdır, zorunlu programlama (OOP dahil) bir Turing makinesinin bir uygulamasıdır.

Kapsamlı! Ne ekleyin ne de ekleyin))