我开始加入WP7开发,我有几个问题。我目前的背景/经验是使用ASP.NET。我是Silverlight的新手,所以我对应用程序的架构设计有一些疑问。我没有MVC的经验,看来Silverlight是基于它的。真的吗?我原来的问题:
一旦新的开发人员工具问世,该应用程序将拥有一个SQL CE后端,作为未来版本,它将与SQL Azure同步。我还想提供一个基于Web的应用程序,它执行相同的功能,并与Azure数据库进行交互。我想知道我应该如何构建应用程序以最小化任何代码重复。
我在考虑使用通用的n层架构。 UI>业务层> DAL(LinqToSql)> SQL语句。这些类也可以在网上重复使用。
答案 0 :(得分:0)
Silverlight并非真正基于MVC。实际上,只要您完全了解其功能,就可以实现任何架构模式。大多数人更喜欢MVVM,它类似于MVC,唯一的主要区别是控制器被ViewModel取代,ViewModel扮演模型和视图之间的中间数据链接的角色。
随着Mango的发布,您确实可以访问SQLCE。在您的情况下,由于您计划使用特定的互操作性层,我建议在Silverlight中使用中间Web服务构建两个应用程序,这些服务将与数据存储通信(在您的情况下,它将是Azure)。你赢了两点:
您正在使用Silverlight,这意味着您可以使用类似的代码库(当然还有平台调整)来提供相同的功能。
网络服务与应用无关。因此,如果您决定构建一个iOS应用程序,那么您将能够使用相同的通信层而无需进行重大更改。