zoukankan      html  css  js  c++  java
  • ABP源码分析十六:DTO的设计

    IDTO:空接口,用于标注Dto对象。

    ComboboxItemDto:用于combobox/list中Item的DTO

    NameValueDto<T>/NameValueDto:用于name value键值对的DTO, name为string类型, value为泛型或string类型。


    Entity Dto

    IEntityDto<TPrimaryKey> :基于Entity的DTO,支持泛型类型的主键。

    IEntityDto:基于Entity的DTO,只支持int类型的主键。

    EntityDto<TPrimaryKey> : 实现IEntityDto<TPrimaryKey>接口。

    EntityDto:实现IEntityDto接口

     

    CreationAuditedEntityDto<TPrimaryKey> :封装了CreationTime和CreatorUserId的EntityDto,CreatorUserId为可空的long类型,支持泛型类型的主键。

    CreationAuditedEntityDto:封装了CreationTime和CreatorUserId的EntityDto,CreatorUserId为可空的long类型,只支持int类型的主键。

    AuditedEntityDto<TPrimaryKey> :继承了CreationAuditedEntityDto<TPrimaryKey>,同时封装了LastModificationTime和LastModifierUserId,都是可空类型。LastModifierUserId为长整型。支持泛型类型的主键。

    AuditedEntityDto :与AuditedEntityDto<TPrimaryKey>的区别仅在于其只支持int类型的主键。

    FullAuditedEntityDto<TPrimaryKey> :继承了AuditedEntityDto<TPrimaryKey>的属性,同时封装了软删除的属性:IsDeleted,以及可空类型的DeleterUserId和DeletionTime,其中DeleterUserId为长整型。

    FullAuditedEntityDto :与FullAuditedEntityDto<TPrimaryKey>的区别仅在于其只支持int类型的主键。


    InPut Dto

    IInputDto :用于输入参数的DTO,空接口起标注作用,标识该接口的对象是个DTO,并且需要被validate

    EntityRequestInput<TPrimaryKey>  : 封装了entity Id的,作为输入参数的DTO,支持泛型类型的主键Id

    EntityRequestInput : 封装了entity Id的,作为输入参数的DTO,只支持int类型的主键Id

    IDoubleWayDto : 空接口起标注作用,即可以用于输入参数,又可用于结果返回的DTO.

    IdInput<TId> :封装了泛型类型的Id的,作为输入参数的DTO

    IdInput:封装了int类型的Id的,作为输入参数的DTO

    NullableIdInput<TId> : 封装了泛型类型的Id的,作为输入参数的DTO, 同时Id可为空

    NullableIdInput : 封装了int类型的Id的,作为输入参数的DTO, 同时Id可为空


    Output Dto

    IOutputDto : 作为方法结果返回返回的DTO,空接口起标注作用

    EntityResultOutput<TPrimaryKey> :封装了entity Id的,作为结果返回的DTO,支持泛型类型的主键Id

    EntityResultOutput : 封装了entity Id的,作为方法结果返回的DTO,只支持int类型的主键Id

    ListResultOutput<T> : 以List作为方法结果返回的DTO

    PagedResultOutput<T> :  以分页的List作为方法结果返回的DTO

     

    IHasTotalCount:封装了TotalCount属性。

    IListResult<T> :封装了一个IReadOnlyList<T>集合。

    ListResultDto<T> :实现了IListResult<T>接口。

    IPagedResult<T> :继承了IHasTotalCount和IListResult<T>接口。

    PagedResultDto<T> :继承了ListResultDto<T>,同时实现了IPagedResult<T>接口

     

    ILimitedResultRequest:封装了MaxResultCount

    IPagedResultRequest:封装了SkipCount

    ISortedResultRequest:封装了Sorting属性

    举个例子:QueryableExtensions通过IPagedResultRequest接口对象获取分页的参数

     

    返回ABP源码分析系列文章目录

  • 相关阅读:
    tf-idf 解释
    maven 下载依赖失败
    eclipse 快捷键
    线程数 QPS
    resin conf
    静态成员 生命周期
    SuperMap 9D 实时数据服务学习笔记
    SuperMap iServer 在Linux 部署中问题总结
    在SuperMap iDesktop中如何快速追加记录行?
    Landsat8 卫星数据下载
  • 原文地址:https://www.cnblogs.com/1zhk/p/5334989.html
Copyright © 2011-2022 走看看