重新整理 .net core 实践篇—————应用层[三十]

Posted 你永远想象不到,一个光鲜亮丽的Application,有多么

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重新整理 .net core 实践篇—————应用层[三十]相关的知识,希望对你有一定的参考价值。

前言

简单介绍一下应用层。

正文

应用层用来做什么的呢?

应用层用来做处理api请求的。

[HttpPost]
public Task<long> CreateOrder([FromBody] CreateOrderVeiwModel viewModel)
{
	var model = viewModel.ToModel();
	return await orderService.CreateOrder(model);
}


class OrderService : IOrderService
{
	public long CreateOrder(CreateOrderModel model)
	{
		var address = new Address("wen san lu", "hangzhou", "310000");
		var order = new Order("xiaohong1999", "xiaohong", 25, address);

		_orderRepository.Add(order);
		await _orderRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken);
		return order.Id;
	}
}

应用层将viewMode转换为Model,然后调用ToModel()转换为Model,然后调用service层的CreateOrder方法进行处理。

而在领域模型中,我们是这样处理的:

/// <summary>
/// 创建订单
/// </summary>
/// <param name="cmd"></param>
/// <returns></returns>
[HttpPost]
public async Task<long> CreateOrder([FromBody] CreateOrderCommand cmd)
{
	// 中间者,发送订单创建命令
	return await _mediator.Send(cmd, HttpContext.RequestAborted);
}

这样来处理的。具体可看上一节。

上面可以看到在应用层都是很薄的一层,不要把业务处理逻辑写在应用层,如果项目比较简单,可以放到另外建立一个的一个类库中去,比如说blog.Application,如果更加简单,也可以创建Application目录即可。

下一节集成事件。

以上是关于重新整理 .net core 实践篇—————应用层[三十]的主要内容,如果未能解决你的问题,请参考以下文章

重新整理 .net core 实践篇—————应用分层[二十四]

重新整理 .net core 实践篇—————Entity的定义[二十五]

重新整理 .net core 实践篇—————配置文件之环境配置[九]

重新整理 .net core 实践篇—————3种配置验证[十四]

重新整理 .net core 实践篇—————中间件[十九]

重新整理 .net core 实践篇—————日志系统之战地记者[十五]