Estoy aprendiendo conceptos de programación funcional hoy en día, y profesionalmente soy un desarrollador de Asp.net. Pero asp.net te hace cambiar las propiedades de los objetos con demasiada frecuencia en el código subyacente. La programación funcional se basa en objetos inmutables. Y aplicar este concepto para cambiar el valor de un cuadro de texto será muy doloroso. También en algunos casos, los manejadores como los argumentos ItemInserted de FormView están disponibles para el desarrollador como KeepInInsertMode, que el desarrollador puede cambiar a verdadero/falso, y en este caso estamos modificando los argumentos de entrada que están contra el FP. Tus pensamientos frnds. ¿Cuál es la forma correcta de manejar la interfaz de usuario en el mundo del software? FP u OOPS.interfaz de usuario basada en la programación funcional
Respuesta
Usted pregunta por la forma "correcta", pero este es un problema de ingeniería, no un problema matemático. Hay compensaciones, alguna forma de gusto entra en juego, y es poco probable que exista una solución perfecta para todos.
Además, solo porque asp.net hace algo de cierta manera, significa que todos OO frameworks han tomado las mismas decisiones de diseño. Eche un vistazo al Ruby on Rails, o al framework web Smalltalk Seaside para un enfoque OO diferente, pero aún así. Incluso ASP.net MVC, por ejemplo, adopta un enfoque algo diferente que ASP.net vainilla.
Lo mismo es cierto para los marcos de FP para el manejo de la interfaz de usuario, con la advertencia adicional de que actualmente parecen ser más experimentales, es decir, no creo que todas las opciones de diseño se hayan explorado tanto como las de OO. Si desea echarle un vistazo, le recomiendo consultar functional reactive programming (principalmente para animaciones interactivas), Links (académico: tiene aspectos en común con LINQ) o LiveLab's reactive framework, cada uno enfatizando un aspecto diferente del problema.
Hay mucho que aprender aquí, lo más importante, probablemente, que no hay una respuesta fácil ...
El uso del paradigma funcional conducirá a pensar de otra manera: no se preguntará "qué sucederá cuando se haga clic en este botón", sino: cuál es el nuevo estado de mi aplicación después de hacer clic en un botón.
El 'nuevo estado' será utilizado por la capa de presentación de su software para hacer algún trabajo de GUI.
Esto dará como resultado una función "estado -> evento -> estado", que es probablemente mucho más predecible que el paradigma OO "diga, no pregunte".
Pero también puede ser más elaborado.
- 1. ¿Qué es exactamente "programación basada en interfaz"?
- 2. Arquitectura de programación funcional
- 3. Programación funcional en C++
- 4. programación funcional en Java
- 5. ¿Hay una interfaz de usuario mysql basada en texto?
- 6. Documentación de programación funcional
- 7. Programación funcional pura en D
- 8. ¿La programación funcional es un subconjunto de la programación imperativa?
- 9. Programación funcional en plantas nucleares?
- 10. Programación funcional aplicada
- 11. Haskell - Programación funcional Ayuda
- 12. Acerca de la programación de estilo funcional
- 13. Programación funcional: Efectos secundarios
- 14. Punto de definición de la programación funcional
- 15. SÓLIDO para programación funcional
- 16. Errores/Desventajas de la Programación Funcional
- 17. ¿Cómo se presenta una aplicación de JavaScript funcional basada en programación?
- 18. Programación basada en eventos vs programación secuencial
- 19. Scala gimnasia de programación funcional
- 20. ¿Qué es la programación basada en datos?
- 21. Ordenando en lenguajes de programación funcional
- 22. Programación funcional pura para la GPU
- 23. cola Funcional De Programación En Scala
- 24. Comentarios adecuados para la programación funcional
- 25. ¿Cómo puedo comenzar con la programación funcional?
- 26. ¿Por qué es buena la programación funcional?
- 27. CMS en el lenguaje de programación funcional
- 28. Programación funcional: Mejor plataforma/Entorno
- 29. ¿La interfaz de usuario de Windows Phone 7 está basada en Silverlight?
- 30. ¿Qué es zip (programación funcional?)