zoukankan      html  css  js  c++  java
  • 重新整理 .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目录即可。

    下一节集成事件。

  • 相关阅读:
    男子头部胀痛案
    摩这些穴位可以对付突发的疾病
    跟师学习时的几个经验方
    黄褐斑良方--- 疏肺散斑汤
    食积咳嗽的特点
    牙痛用药口决(来源于网络暂未验证)
    20多年脚气起泡脱皮瘙痒外洗方治验案
    起死回生通关散
    腰突辩治心得(付济华)
    战痘良方--付济华
  • 原文地址:https://www.cnblogs.com/aoximin/p/14936475.html
Copyright © 2011-2022 走看看