我正在开发一个Web应用程序,之后我们计划开发并提供其移动应用程序。我不是很有经验,但只是基于我的理解计划有这个架构:
问题
由于
修改 5. 单元测试是否合适?或者为了更好的测试,我应该做些改变吗?
答案 0 :(得分:4)
您所描述的是一个非常现代和良好的Microsoft服务器堆栈。
ASP.net MVC对您来说是一个很好的网络用户界面。如果您使用asp.net MVC,您还应该查看业务层的asp.net webapi(新)。
http://weblogs.asp.net/scottgu/archive/2012/02/23/asp-net-web-api-part-1.aspx
SQL Server和EF是相当标准的。另一个选项是纯T-SQL,如果你需要终极控制并且对直接sql感到满意。
将Web UI(MVC)与业务层(web-api)分离后,您可以分离角色并独立扩展,即使最初它们恰好位于同一个角色/机器上也是如此。此外,客户端html / javascript代码可以对web-api进行ajax样式调用。因此,您需要“注册”(config)web-api服务器的终点。如果您稍后进行缩放/移动,则不会更改代码 - 您从第一天开始就进行了彻底的分离。
移动设备(如果是厚应用)可以直接使用web-api。除非移动应用程序是使用嵌入式浏览器/ javascript解决方案的混合移动应用程序,否则它只是您MVC Web UI的小型消费者。
对于测试,您可以在其自己的命令行过程中自行托管web-api,并在可行的情况下模拟数据。这将允许您在没有后端的情况下验证Web UI。通过拥有业务层(由web api公开),您还可以验证后端和后端。逻辑(应该是你的逻辑的大部分)独立于UI。