领域驱动开发的特点:
1.分层更多,前期代码量大,后期维护方便
2.业务进行了专业的领域划分,业务逻辑更加清晰,便于业务扩展。
3.代码工程高内聚,更加精简。
4.主要是解决复杂业务逻辑编写问题

为什么要使用DTO(数据传输对象)?
1.领域对象更注重领域,而DTO更注重数据,面向界面UI。通过DTO我们实现了表现层与Model之间的解耦,不会直接将领域对象的行为暴露给表现层。
2.DTO可以有效的减少请求数量,减少客户端请求而降低服务器压力,提升效率。
3.解决序列化和懒加载问题

ABP数据过滤器:
软删除接口(ISoftDelete) public virtual bool IsDeleted { get; set; }

多租接口(IMustHaveTenant) public int TenantId { get; set; }

多租接口(IMayHaveTenant) public int? TenantId { get; set; }

ABP实体
Entity<T>

创建时间、修改时间、创建人、修改人
AuditedEntity
IAudited
IHasCreationTime        -  DateTime CreationTime { get; set; }
ICreationAudited          -  long? CreatorUserId { get; set; }
IHasModificationTime   -  DateTime? LastModificationTime { get; set; }
IModificationAudited      - long? LastModifierUserId { get; set; }

软删除
IDeletionAudited long?     - long DeleterUserId { get; set; }   DateTime? DeletionTime { get; set; }     bool IsDeleted { get; set; }

ISoftDelete                       - bool IsDeleted { get; set; }

IFullAudited interface IFullAudited : IAudited, IDeletionAudited

abp知识的更多相关文章

  1. ABP VNext框架基础知识介绍(1)--框架基础类继承关系

    在我较早的时候,就开始研究和介绍ABP框架,ABP框架相对一些其他的框架,它整合了很多.net core的新技术和相关应用场景,虽然最早开始ABP框架是基于.net framework,后来也全部转向 ...

  2. ABP VNext框架基础知识介绍(2)--微服务的网关

    ABP VNext框架如果不考虑在微服务上的应用,也就是开发单体应用解决方案,虽然也是模块化开发,但其集成使用的难度会降低一个层级,不过ABP VNext和ABP框架一样,基础内容都会设计很多内容,如 ...

  3. 进军ABP第一天:ABP理论知识

    1.2.3 领域层领域层就是业务层,是一个项目的核心,所有业务规则都应该在领域层实现. ( 实体(Entity ) 实体代表业务领域的数据和操作,在实践中,通过用来映射成数据库表. ( 仓储(Repo ...

  4. ABP领域层知识回顾之---工作单元

    1. 前言   在上一篇博文中(http://www.cnblogs.com/xiyin/p/6842958.html) 我们讲到了ABP领域层的仓储.这边博文我们来讲 工作单元.个人觉得比较重要.文 ...

  5. ABP领域层知识回顾之---仓储

    1. 前言  在上一篇博文中 http://www.cnblogs.com/xiyin/p/6810350.html 我们讲到了ABP领域层的实体,这篇博文继续讲ABP的领域层,这篇博文的主题是ABP ...

  6. ABP领域层知识回顾之---实体

    标题:重温ABP领域层 1. 前言  最近一段时间一直在看<ABP的开发指南>(基于DDD的经典分层架构思想).因为之前一段时间刚看完<领域驱动设计:软件核心复杂性应对之道>, ...

  7. Abp小知识-如何全局设置DontWrapResult属性

    demo地址 GitHub相关demo地址:https://github.com/PuzzledAlien/DotNetCore_Practice/tree/master/ABP.Demo/WebAp ...

  8. ABP 00 常用知识

    1.更改本地预览的端口: 文件路径:\src\ContractMS.Web.Mvc\Properties\launchSettings.json 改这里:"applicationUrl&qu ...

  9. 初识ABP vNext(1):开篇计划&基础知识

    目录 前言 开始 审计(Audit) 本地化(Localization) 事件总线(Event Bus) 多租户(multi-tenancy technology) DDD分层 实体(Entity) ...

随机推荐

  1. Git 系列教程(14)- 远程分支

    远程分支 远程引用是对远程仓库的引用(指针),包括分支.标签等等 你可以通过 git ls-remote <remote> 来显式地获得远程引用的完整列表 polo@B-J5D1MD6R- ...

  2. Kubernetes集群搭建 ver1.20.5

    目录 部署方式 1. 基础环境准备 1.1 基础初始化 1.2 安装docker 2. 部署harbor及haproxy高可用反向代理 2.1 镜像加速配置 2.2 高可用master可配置 3. 初 ...

  3. MongoDB(7)- 文档插入操作

    插入方法 db.collection.insertOne() 插入单条文档到集合中 db.collection.insertMany() 插入多条文档到集合中 db.collection.insert ...

  4. SpringBoot实现整合mybatis-generator-maven-plugin 1.4.0

    创建 Maven 工程 网上有很多教程且 Idea 可以直接创建 这里就不进行 pom.xml 引入依赖和插件 pom中generalto-maven-plugs中必须指定mysql驱动,并且明确版本 ...

  5. xtrabackup(innobackupex)使用详解

    innobackupex实际上是percona-xtrabackup的perl整合脚本,功能当然更强大一些. xtrabackup备份实际上是在线的物理热备,为什么和么说呢,因为实际上他是以拷贝mys ...

  6. ADAS测试

    ADAS测试 1.  ADAS​和​自动​驾驶​测试 AD​和​高级​驾驶​辅助​系统​(ADAS)​正在​不断​增加​新的​雷达.​摄像​头.​激光​雷达​和​GNSS​传感器,​甚至​也在​改变​ ...

  7. 重新整理 mysql 基础篇————— 介绍mysql[一]

    前言 准备整理mysql的基础篇了,前面整理了sql语句序列的的<sql 语句系列(八百章)>,感觉很多用不上,就停下来了,后续还是会继续整理. mysql 基础篇主要是对一些基础进行整理 ...

  8. 一、DNS服务器的搭建

    一.介绍 DNS服务:域名解析   将域名解析ip地址 DNS服务器的功能– 正向解析:根据注册的域名查找其对应的IP地址– 反向解析:根据IP地址查找对应的注册域名,不常用 所有完整的域名都要以点结 ...

  9. UF_LAYER 图层操作

    Open C uc5007uc5008uc5009UF_LAYER_ask_category_infoUF_LAYER_ask_category_tagUF_LAYER_ask_statusUF_LA ...

  10. Java @FunctionalInterface注解-6

    在学习 Lambda 表达式时,我们提到如果接口中只有一个抽象方法(可以包含多个默认方法或多个 static 方法),那么该接口就是函数式接口.@FunctionalInterface 就是用来指定某 ...