Redux'daki ilkeleri OO dillerine uygulamak mantıklı mı?


9

Redux aslında işlevsel bir programlamadır ve çok mantıklıdır. Farklı bir projede javascript olmayan bir OOP diline geri döndüğümde, tek durumlu nesne, bu durumun bazı kısımlarında etkili olan redüktörler, durumu değiştirmek için bir semantik eylemler iş katmanı gibi aynı ilkeleri uygulamak istiyorum.

Projem C ++ 'da ve uygulamayı tasarlamak için işlevsel, redux tarzı bir yaklaşım uygulamayı denemek ve uygulamak mantıklı olup olmadığını bilmek istiyorum. Performans bu uygulama için süper kritik değil, ancak sürdürülebilirlik.

Uygulamamı böyle tasarlarken hangi zorluklarla karşılaşırdım?


Bunun bir GUI uygulaması olmadığını eklemeliyim. Ve daha fazlasını düşünmek, belki redux, GUI olmayan bir uygulamada faydayı azaltmıştır, çünkü uygulama durumu güncellemesinin doğrudan görsel etkisi yoktur.


Redux şeyi yapan adam, aslında Nesne Tabanlı Javascript olan bir ES6 uygulamasına sahip olduğunu söylüyor.
Robert Harvey

1
Bunu bir süre önce Java'da yapmaya başladım. Çalışmasını sağlayabilirsiniz; Java 8 ve C ++ 11 en az Javascript kadar "işlevsel" dir. Ancak statik tip sistem işleri çirkin yapabilir. Bu arada hiçbir şekilde GUI'lerle sınırlı değildir; Redux'un yaklaşımı, Clojure'un devleti GUI'lere bağlı olmayan eşzamanlılık altında nasıl yönettiğine son derece benzer.
Torisuda

Yanıtlar:


5

Fonksiyonel programlama stilleri, doğru zihniyetle neredeyse her yerde yeniden kullanılabilir olma eğilimindedir. Paradigmalar arası dilleri uygulama genel fikri Steve McConnell'in Code Complete'te "bir dile programlama" olarak bahsettiği şeydir. Çoğunlukla, dil ve çapraz paradigma öğrenilen dersleri uygulama arzusunun, dili bir ifade aracı olarak gören birinin işareti olduğunu belirtmek istedim. Kaç geliştiricinin bu noktaya asla ulaşmaması şaşırtıcı.

İşaret ettiğiniz gibi, Redux'un felsefesi UI gelişimini hedefliyor. Durum delta izlemesinin UI olmayan ortamlarda yararlı olduğu çok fazla senaryo öngörmek zordur. Gerçi bu gerçekten sizin probleminize bağlıdır. Yaklaşım genel çözümün anlaşılmasını ve sürdürülmesini kolaylaştırıyorsa, muhtemelen iyi bir çözümdür. Redux'un aldığı genel yaklaşım, çoğu RDBMS'de işlem günlüğü gibi hissedilir, bu nedenle yaklaşımın JavaScript'ten önce var olduğu doğru olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.