2009-07-24 7 views
5

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

2

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 ...

2

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.

Cuestiones relacionadas