2011-05-09 98 views
0

我开始进入WP7开发阶段,我有几个问题。我目前的背景/经验是与ASP.NET。我是Silverlight的新手,因此我对应用程序的体系结构设计有一些疑问。我没有MVC的经验,看来Silverlight是基于它的。真的吗?回到我原来的问题:WP7 +基于Web的应用程序 - 最小化代码复制

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

我正在考虑使用通用的n层体系结构。 UI>业务层> DAL(LinqToSql)> Sql。这些类也可以在Web上重新使用。

回答

0

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

随着芒果的发布,您的确可以使用SQLCE。就你而言,由于你正在计划使用特定的互操作层,因此我建议在Silverlight中构建两个应用程序,并使用与数据存储器通信的中介Web服务(在你的情况下它将是Azure)。你赢在两点:

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

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

+0

感谢您的评论,我会以此作为答案,因为它重申了我在想的一些事情。我唯一需要注意的是我想要在设备上本地运行数据库的副本,所以我将避免在这种情况下触及Web服务。但是,这让我进一步思考。谢谢 – 2011-05-10 13:01:07