我将开始一个具有以下架构的新项目:
问题1:使用这种架构是一种好习惯吗?或者我应该改进 更多的东西呢?
问题2:什么是Web API,我是否应该将其作为单独的层使用?
如果您有更好的代码可维护性架构,请告诉我。
答案 0 :(得分:1)
问题1:使用这种架构是一种好习惯吗?或者我应该改进一些东西吗?
是。它使软件的所有部分松散耦合,这意味着您可以通过另一个实现交换图层的实现,而不必担心必须大量重构代码。通过这种架构,您可以轻松添加智能手机应用程序,该应用程序可以重用ASP.NET Web应用程序现在使用的所有层。
问题2:&什么是Web API,我是否应该将它作为单独的层使用?
这意味着您的Web应用程序使用公开所有应用程序功能的Web服务层:Web应用程序通过REST等Web服务协议与Web API层进行通信,然后Web API层使用业务逻辑层。所以这是一个额外的层。
如果您希望允许其他开发人员使用您的业务逻辑,或者您计划稍后再制作一个额外的前端应用程序,例如智能手机,那么添加它可能会很有趣知道你无法出于某种原因在.NET中编程,这意味着你已经知道你将无法直接调用你的业务逻辑层。在这种情况下,您肯定需要介于两者之间的Web服务。
此外,如果您之间没有Web服务层,则每次更改其中一个较低层的实现时,都必须重新编译前端应用程序。但是,如果您的前端应用程序只使用Web服务,则情况并非如此:您的应用程序不再使用DLL,而只是通过Internet连接来回传递消息。
这并不意味着您每次都必须在应用程序和业务逻辑层之间创建Web API层。如果您知道此应用程序将是您为此用例构建的唯一前端,并且不需要其他开发人员的API,那就太过分了。如果你不确定,或者认为机会很少,那么这些要求就会出现,开始很简单,没有Web API层。如果有必要,您可以稍后添加该图层。