【问题标题】:Is MVVM a common design pattern between different platforms?MVVM 是不同平台之间的通用设计模式吗?
【发布时间】:2012-03-12 07:04:24
【问题描述】:

是否可以在windows phone等平台采用MVVM设计模式,并以可移植到android和iOS等其他平台的数据绑定方式实现代码?

或者我最好问问MVVM设计模式在不同平台之间是否通用?

【问题讨论】:

    标签: mvvm


    【解决方案1】:

    它基于Model-View-Controller 模式,适用于所有平台。 MVVM 是基于 WPF 中各种 DataBinding 功能的变体。至少这是最常用术语 MVVM 的上下文。

    虽然该模式本身是可移植的,但您将无法将 Windows Phone 代码用于 Android 或 iOS 等平台。

    【讨论】:

      【解决方案2】:

      虽然该模式可能适用于不同的平台,但实现并不适用(例如 iOS 的 Objective-C / 特定于设备的 API 与 Windows Phones C# / Silverlight)。

      唯一的解决方案可能是 HTML5/CSS/JavaScript - 我认为您可以在那里使用 MVVM,但它更多的是一种技术而不是一种模式。

      【讨论】:

      • 实际上我认为设计模式与技术无关,不是吗?
      • 当然,但 MVVM 正在使用大量工具(例如 WPF/Silverlight 中的绑定)来真正让它大放异彩。如果您必须调整和重写所有代码,那么跨平台重用习语有多大用处?
      【解决方案3】:

      有一个使用 JavaScript 和 HTML 的 MVVM 模式实现(因此使其非常便携):

      http://knockoutjs.com

      由于至少有两个非常不同的平台和库可以让您轻松使用此模式,因此答案是肯定的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-24
        • 2013-03-04
        • 1970-01-01
        • 2018-06-03
        • 2023-02-02
        • 1970-01-01
        • 2014-08-31
        相关资源
        最近更新 更多