何时添加额外的“服务”或BLL图层?

时间:2017-05-26 20:15:55

标签: c# .net asp.net-web-api visual-studio-2017 azure-service-fabric

我有一个Web API控制器,例如:

    [HttpGet]
    [Route("accounts", Name = "GetAccounts")]
    public async Task<IHttpActionResult> GetAccounts()
    {
        var query = Request.RequestUri.PathAndQuery.Split('/')[2];

        var response = await Client.HTTPCLIENT.GetAsync(Client.HTTPCLIENT.BaseAddress + query);

        if (!response.IsSuccessStatusCode)
        {
            return NotFound();
        }

        var readAsAsync = response.Content.ReadAsAsync<object>();
        if (readAsAsync == null)
        {
            return NotFound();
        }

        var result = await readAsAsync;
        return Ok(result);
    }

我的问题是我是否应该简化控制器并将此逻辑推入新的服务/业务逻辑层?

我的用例是让此代码在服务结构上的微服务中运行。

在此架构中添加其他图层是多余/不必要的复杂性,是否有好处?

1 个答案:

答案 0 :(得分:0)

据我所知,这个控制器唯一能做的就是调用另一个服务并返回结果。我在这里看不到任何可以提取给其他服务的内容。

我总是会问,您获得更多服务会带来什么好处?就物理机器资源使用,开发成本和维护而言,往返服务是相对昂贵的。