【问题标题】:WP7 + Web Based applications - Minimizing code duplicationWP7 + 基于 Web 的应用程序 - 最大限度地减少代码重复
【发布时间】:2011-05-09 21:12:18
【问题描述】:

我开始涉足 WP7 开发,我有几个问题。我目前的背景/经验是使用 ASP.NET。作为一个整体,我是 Silverlight 的新手,所以我对应用程序的架构设计有一些疑问。我没有使用 MVC 的经验,而且 Silverlight 似乎是基于它的。真的吗?对于我原来的问题:

一旦新的开发人员工具问世,该应用程序将拥有一个 SQL CE 后端,作为未来的版本,它将与 SQL Azure 同步。我还想提供一个基于 Web 的应用程序,它执行相同的功能,并与 Azure 数据库进行交互。我想知道应该如何构建应用程序以最大程度地减少代码重复。

我正在考虑使用通用的 n 层架构。 UI > 业务层 > DAL (LinqToSql) > Sql。这些类也可以在网络上重复使用。

【问题讨论】:

    标签: silverlight architecture windows-phone-7


    【解决方案1】:

    Silverlight 并不是真正基于 MVC。事实上,只要您完全了解其功能,您就可以实现任何架构模式。大多数人更喜欢 MVVM,它与 MVC 类似,唯一的主要区别是控制器被 ViewModel 取代,ViewModel 起到了模型和视图之间的中间数据链接的作用。

    随着 Mango 的发布,您确实可以访问 SQLCE。在您的情况下,由于您计划使用特定的互操作性层,我建议在 Silverlight 中构建这两个应用程序,并使用将与数据存储进行通信的中间 Web 服务(在您的情况下,它将是 Azure)。你赢了两分:

    1. 您正在使用 Silverlight,这意味着您可以使用类似的代码库(当然需要进行平台调整)来提供相同的功能。

    2. Web 服务独立于应用程序。因此,如果您决定构建一个 iOS 应用程序,您将能够使用相同的通信层而无需进行重大更改。

    【讨论】:

    • 感谢您的评论,我会将其作为答案,因为它重申了我的一些想法。我唯一要注意的是,我希望在设备上本地运行数据库的副本,因此我会避免在这种情况下访问 Web 服务。然而,它让我更深入地思考。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多