Apakah masuk akal untuk menerapkan prinsip-prinsip dalam Redux ke bahasa OO?


9

Redux pada dasarnya adalah pemrograman fungsional, dan sangat masuk akal. Ketika saya kembali ke bahasa OOP non-javascript dalam proyek yang berbeda, saya ingin menerapkan prinsip yang sama seperti objek keadaan tunggal, reduksi yang bertindak pada bagian negara itu, lapisan bisnis dari tindakan semantik untuk mengubah keadaan.

Proyek saya adalah dalam C ++ dan saya ingin tahu apakah masuk akal untuk mencoba dan menerapkan pendekatan gaya, fungsional redux untuk merancang aplikasi. Kinerja tidak super penting untuk aplikasi ini, tetapi rawatannya tetap.

Kesulitan apa yang akan saya hadapi merancang aplikasi saya seperti ini?


Saya harus menambahkan bahwa ini bukan aplikasi GUI. Dan memikirkan itu lebih lanjut, mungkin redux telah mengurangi manfaat dalam aplikasi non GUI karena tidak ada beberapa efek visual langsung dari pembaruan keadaan aplikasi.


Orang yang melakukan hal redux mengatakan dia memiliki implementasi ES6, yang pada dasarnya adalah Object-Oriented Javascript.
Robert Harvey

1
Saya melihat ke dalam melakukan ini di Jawa beberapa waktu lalu. Anda bisa membuatnya bekerja; Java 8 dan C ++ 11 setidaknya sama "fungsional" dengan Javascript. Tetapi sistem tipe statis dapat membuat hal-hal menjadi jelek. Tidak terbatas pada GUI, omong-omong; Pendekatan Redux sangat mirip dengan bagaimana Clojure mengelola negara berdasarkan konkurensi, yang sama sekali tidak terkait dengan GUI.
Torisuda

Jawaban:


5

Gaya pemrograman yang fungsional cenderung agak dapat digunakan kembali di mana saja dengan pola pikir yang benar. Gagasan umum untuk menerapkan paradigma lintas bahasa adalah apa yang Steve McConnell sebut dalam Kode Lengkap sebagai "pemrograman ke dalam bahasa". Saya sebagian besar ingin menunjukkan bahwa keinginan untuk menerapkan pelajaran yang dipelajari lintas-bahasa dan paradigma-silang adalah benar-benar tanda seseorang yang melihat bahasa sebagai media ekspresi. Sungguh menakjubkan betapa banyak pengembang tidak pernah mencapai titik ini.

Seperti yang Anda tunjukkan, filosofi Redux ditargetkan pada pengembangan UI. Sulit membayangkan terlalu banyak skenario di mana pelacakan delta negara berguna di lingkungan non-UI. Itu benar-benar tergantung pada masalah Anda. Jika pendekatan ini membuat solusi keseluruhan lebih mudah untuk dipahami dan dipelihara, maka itu mungkin yang bagus. Pendekatan umum yang diambil Redux terasa sangat mirip dengan jurnal transaksi di sebagian besar RDBMS, jadi mungkin benar bahwa pendekatan itu ada sebelum JavaScript.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.