重新整理 .net core 實踐篇—————應用層[三十]
阿新 • • 發佈:2021-06-27
前言
簡單介紹一下應用層。
正文
應用層用來做什麼的呢?
應用層用來做處理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目錄即可。
結
下一節整合事件。