我应该遵循哪种应用程序架构?

时间:2015-05-14 09:05:05

标签: angularjs model-view-controller asp.net-web-api single-page-application

我已经开始了一个新的应用程序。目前我已将其组织为Angular& amp; WebApi 单页应用程序但我有点困惑。当我打算使用某些第三方api以及 Intuit 时,此应用程序是一种发票应用程序。 在进一步了解应该遵循哪种应用程序架构之前,我想做出可靠的决定。就像单页应用程序或传统的MVC 5.0应用程序之间一样。

如果你们有任何想法请分享。谢谢

2 个答案:

答案 0 :(得分:0)

老实说,这取决于它是什么类型的应用程序。如果您的应用程序在用户体验或设计方面没有那么大的优先级(如营销/支持/信息类应用程序),那么您应该使用SPA。

但是如果您的应用程序是数据驱动意味着对大量数据执行并且结果/数据/信息是高优先级,那么您应该使用传统的MVC 5.0应用程序。

这还没有解决你的问题。正如您所提到的,您正在使用WEb API,请同时查看帖子https://softwareengineering.stackexchange.com/questions/246380/should-we-call-web-api-from-mvc-application-in-same-solution

答案 1 :(得分:0)

这不是任何形式或形成明确和完整的答案。只是一个快速的意见。

对于您的前端,我建议使用基于HTML 5的单页Angular应用程序,该应用程序与您的API完全分开。以下是一些优点:

  1. Angular现在是一个非常受欢迎的选择,你将获得很多支持(代码示例,库,文章,SO问题等)。
  2. 通过将Angular应用程序与Web API(后端代码)分离,您将从一个非常干净的模块化架构开始,将来可以让您(1)轻松地将API重新用于其他应用程序,(2)使用PhoneGap将您的应用移植到iOS和Android等其他平台。
  3. 我还会使用Yeoman + Bootstrap来加快开发速度。如果您构建移动优先,请查看Ionic。如果您想要很酷的动画,请查看Famous

    对于您的API,我会选择Web API 2,我将它分为3层:  1. Web / API层。您的控制器,型号,输入验证。  2.服务层。您的业​​务逻辑(例如InvoicesService,StatementsService,UsersService等)。  3.基础设施层。一切都与数据访问和持久性有关(例如数据库访问)。

    如果您有数据库,那么Entity Framework 6就是您的朋友。