He estado leyendo sobre estos y son bastante prominentes en el mundo de .NET. ¿Por qué no hay frameworks web que implementen cualquiera de estos patrones en Ruby, Python o PHP? ¿Es porque solo funciona con marcos basados en componentes, como ASP.NET? ¿O simplemente tardan en adoptarlo?¿Por qué no se ven los patrones de MVP y MVVM en Ruby, Python o PHP?
19
A
Respuesta
18
Lo que hay que recordar es que estos son patrones arquitectónicos, no marcos. Los marcos solo "ayudan" a implementar el patrón, pero es posible implementar el patrón usando cualquier tecnología, siempre que contenga los requisitos correctos para el patrón.
MVP está presente en otros idiomas. Es un patrón que funciona cuando se usa con Python con PyQt, por ejemplo.
MVVM, sin embargo, es realmente dependiente de algunas características exclusivas de WPF y Silverlight, sobre todo las funciones de enlace de datos que son bastante únicas en estas tecnologías. Aunque sería posible (potencialmente) modificar esto para otros lenguajes y arquitecturas, no se ha hecho en este punto, que yo sepa.
Cuestiones relacionadas
- 1. MVP Vs MVVM: por qué
- 2. ¿Qué usar? MVC, MVP o MVVM o ...?
- 3. Aclaración: MVC, MVP, MVVM
- 4. ¿Qué es el modelo en los patrones de diseño de la interfaz de usuario como MVC, MVP, MVVM?
- 5. ¿Cuál es la diferencia entre los patrones de diseño y los patrones arquitectónicos?
- 6. Corutinas o continuaciones para programación web en Python y Ruby. Por qué no?
- 7. ¿Cuáles son las diferencias entre MVC, MVP y MVVM?
- 8. usando patrones MVC MVP en winforms
- 9. Los colores se ven diferentes en el navegador y photoshop
- 10. ¿Por qué los eventos y comandos en MVVM no están soportados por WPF/Visual Studio?
- 11. ¿Cómo se ven los símbolos de depuración?
- 12. ¿Por qué los valores por defecto de IDL se ven redondeados?
- 13. ¿Por qué los lenguajes dinámicos como Ruby y Python no tienen el concepto de interfaces como en Java o C#?
- 14. ¿Por qué GHC se queja de patrones no exhaustivos?
- 15. Servicio web: PHP o Ruby on Rails o Python?
- 16. ¿Por qué los operadores "y" y "o" no están en Python?
- 17. ¿Por qué no se unifican los dictados de Python?
- 18. ¿Por qué querría uno usar ruby sobre python o viceversa?
- 19. Qué son MVP-Passive View y MVP-Supervisoring controller
- 20. MVP en Winforms
- 21. ¿Existe un buen marco MVVM/MVP/MVC para JavaFX?
- 22. En Haskell, ¿por qué los patrones no exhaustivos no son errores en tiempo de compilación?
- 23. MVP/MVVM - Filtrado de listas, ¿quién tiene la responsabilidad?
- 24. Windows Forms se ven diferentes en Powershell y Powershell ISE. ¿Por qué?
- 25. cómo se ven pthreads en linux por el programador
- 26. Informar al usuario final de las excepciones en Winforms-MVP y WPF-MVVM
- 27. ¿Qué pasa con los patrones PHP de explosión()?
- 28. MVP, Winforms - EventHandlers o Delegados
- 29. ¿Por qué Ruby no tiene un StringBuffer real o StringIO?
- 30. ¿Qué son los "patrones n + k" y por qué están prohibidos en Haskell 2010?
+1 Vote - también aquí está el ejemplo de ruby - Jay Fields en el presentador http://blog.jayfields.com/2007/03/rails-presenter-pattern.html – house9
"MVVM, sin embargo, es realmente dependiente de algunas características exclusivas de WPF y Silverlight, especialmente las funciones de enlace de datos que son bastante únicas en estas tecnologías ". No creo que esto sea cierto nunca más. Los marcos de JavaScript como Ember Data y Meteor tienen enlace de datos. –
@BSeven Sí, muchos cambios en 4.5 años;) Dicho esto, la forma en que funciona el enlace de datos es algo diferente, entonces, IMO, "MVVM" en JS land es en realidad un poco diferente de una bestia vs. en WPF/Silverlight. –