回顾:NLayerAppV3是一个使用.net 2.1实现的经典DDD的分层架构的项目。
NLayerAppV3是在NLayerAppV2的基础上,使用.net core2.1进行重新构建的;它包含了开发人员和架构师都可以重用的DDD层。
Github地址:https://github.com/cesarcastrocuba/nlayerappv3
NLayerAppV3的基础结构层一共分为两个部分。处理数据相关的基础组件和Cross-Cutting的基础组件。
处理数据相关的基础组件主要包含UOW和仓储的实现;
Cross-Cutting的基础组件目前主要包含数据适配器、国际化、验证;
本节我们主要介绍Cross-Cutting的基础组件。
这部分相关的项目主要有两个Infrastructure.Crosscutting和Infrastructure.Crosscutting.NetFramework。
Infrastructure.Crosscutting封装了数据适配器、国际化、验证相关的接口;
Infrastructure.Crosscutting.NetFramework包含了Infrastructure.Crosscutting中相关契约的实现;
1、Infrastructure.Crosscutting
--Adapter数据适配器
这部分是数据适配或者数据转换的功能契约。
数据转换是什么?为什么要数据转换?
DTO:数据转换对象。
数据转换主要是用于将用户的输入转换为DTO,在持久化的时候又将DTO转为领域模型进行持久化;如果是用户请求数据的话,则是相反的过程。
首先定义了一个类型转换的契约ITypeAdapter。
接口中定义了类型转换的方法,给我一个TSource,我还你一个TTarget。
TTarget Adapt<TSource, TTarget>(TSource source) where TTarget : class, new() where TSource : class;