Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 为什么不';Ruby、Python或PHP中的MVP和MVVM模式是什么?_Design Patterns_Mvvm_Mvp - Fatal编程技术网

Design patterns 为什么不';Ruby、Python或PHP中的MVP和MVVM模式是什么?

Design patterns 为什么不';Ruby、Python或PHP中的MVP和MVVM模式是什么?,design-patterns,mvvm,mvp,Design Patterns,Mvvm,Mvp,我一直在读关于这些的文章,它们在.NET世界中非常突出。为什么没有任何web框架在Ruby、Python或PHP中实现这些模式?是不是因为它只适用于基于组件的框架,比如ASP.NET?或者他们只是迟迟没有采用它?需要记住的是,这些是架构模式,而不是框架。框架只“帮助”实现模式,但是可以使用任何技术实现模式,只要它包含正确的模式需求 MVP以其他语言提供。例如,当与PyQt一起使用Python时,这是一种有效的模式 然而,MVVM实际上依赖于WPF和Silverlight特有的一些特性——最显著的

我一直在读关于这些的文章,它们在.NET世界中非常突出。为什么没有任何web框架在Ruby、Python或PHP中实现这些模式?是不是因为它只适用于基于组件的框架,比如ASP.NET?或者他们只是迟迟没有采用它?

需要记住的是,这些是架构模式,而不是框架。框架只“帮助”实现模式,但是可以使用任何技术实现模式,只要它包含正确的模式需求

MVP以其他语言提供。例如,当与PyQt一起使用Python时,这是一种有效的模式


然而,MVVM实际上依赖于WPF和Silverlight特有的一些特性——最显著的是这些技术中相当独特的数据绑定特性。虽然可以(潜在地)为其他语言和体系结构修改此选项,但据我所知,目前还没有完成。

+1投票-这里还有来自Presenter上ruby-Jay Fields的示例“然而,MVVM实际上依赖于WPF和Silverlight独有的一些功能,最显著的是这些技术中相当独特的数据绑定功能。“我不认为这是真的了。像Ember Data和Meteor这样的Javascript框架都有数据绑定。@是的,4.5年内有很多变化;)话虽如此,数据绑定的工作方式有些不同,因此,在我看来,JS land中的“MVVM”实际上与WPF/Silverlight中的“野兽”有些不同。