abp知识
领域驱动开发的特点:
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知识的更多相关文章
- ABP VNext框架基础知识介绍(1)--框架基础类继承关系
在我较早的时候,就开始研究和介绍ABP框架,ABP框架相对一些其他的框架,它整合了很多.net core的新技术和相关应用场景,虽然最早开始ABP框架是基于.net framework,后来也全部转向 ...
- ABP VNext框架基础知识介绍(2)--微服务的网关
ABP VNext框架如果不考虑在微服务上的应用,也就是开发单体应用解决方案,虽然也是模块化开发,但其集成使用的难度会降低一个层级,不过ABP VNext和ABP框架一样,基础内容都会设计很多内容,如 ...
- 进军ABP第一天:ABP理论知识
1.2.3 领域层领域层就是业务层,是一个项目的核心,所有业务规则都应该在领域层实现. ( 实体(Entity ) 实体代表业务领域的数据和操作,在实践中,通过用来映射成数据库表. ( 仓储(Repo ...
- ABP领域层知识回顾之---工作单元
1. 前言 在上一篇博文中(http://www.cnblogs.com/xiyin/p/6842958.html) 我们讲到了ABP领域层的仓储.这边博文我们来讲 工作单元.个人觉得比较重要.文 ...
- ABP领域层知识回顾之---仓储
1. 前言 在上一篇博文中 http://www.cnblogs.com/xiyin/p/6810350.html 我们讲到了ABP领域层的实体,这篇博文继续讲ABP的领域层,这篇博文的主题是ABP ...
- ABP领域层知识回顾之---实体
标题:重温ABP领域层 1. 前言 最近一段时间一直在看<ABP的开发指南>(基于DDD的经典分层架构思想).因为之前一段时间刚看完<领域驱动设计:软件核心复杂性应对之道>, ...
- Abp小知识-如何全局设置DontWrapResult属性
demo地址 GitHub相关demo地址:https://github.com/PuzzledAlien/DotNetCore_Practice/tree/master/ABP.Demo/WebAp ...
- ABP 00 常用知识
1.更改本地预览的端口: 文件路径:\src\ContractMS.Web.Mvc\Properties\launchSettings.json 改这里:"applicationUrl&qu ...
- 初识ABP vNext(1):开篇计划&基础知识
目录 前言 开始 审计(Audit) 本地化(Localization) 事件总线(Event Bus) 多租户(multi-tenancy technology) DDD分层 实体(Entity) ...
随机推荐
- python的数组
- nlp任务中的传统分词器和Bert系列伴生的新分词器tokenizers介绍
layout: blog title: Bert系列伴生的新分词器 date: 2020-04-29 09:31:52 tags: 5 categories: nlp mathjax: true ty ...
- Python小白的数学建模课-A1.国赛赛题类型分析
分析赛题类型,才能有的放矢. 评论区留下邮箱地址,送你国奖论文分析 『Python小白的数学建模课 @ Youcans』 带你从数模小白成为国赛达人. 1. 数模竞赛国赛 A题类型分析 年份 题目 要 ...
- Go语言练习---判断闰年以及根据现在的秒数求现在的年月日
package main import ( "fmt" "math" "time" ) /* @闰年判断 ·封装一个函数判断某一个年份是不是 ...
- 201871030138-杨蕊媛 实验二 个人项目—《D{0-1}背包问题》项目报告
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs.com/nwnu-dai ...
- ASP.NET Core MVC 入门到精通 - 1. 开发必备工具 (2021)
环境: .NET 5 ASP.NET Core MVC 1. .NET 5 作为一个资深.NET工程师,说句实话,.NET没落了,在国内更加的没落.之前做过8年node.js/前端,现如今又转回了.N ...
- THINKPHP_(7)_THINKPHP6的controller模型接收前端页面通过ajax返回的数据,会因为一个div而失败
这个随笔比较短. 同样的前端页面代码,修改了一下,后端模型接收不到数据. 利用beyond compare软件比对两个前端文件, 发现多了一个</div>标签. 多了一个</div& ...
- VTA硬件
VTA硬件 提供了VTA硬件设计的自上而下的概述.本硬件设计涵盖两个级别的VTA硬件: VTA设计及其ISA硬件-软件接口的体系结构概述. VTA硬件模块的微体系结构概述以及计算核心的微代码规范. V ...
- TensorFlow实现超参数调整
TensorFlow实现超参数调整 正如你目前所看到的,神经网络的性能非常依赖超参数.因此,了解这些参数如何影响网络变得至关重要. 常见的超参数是学习率.正则化器.正则化系数.隐藏层的维数.初始权重值 ...
- DHCP的原理与配置
DHCP 动态主机配置协议(Dynamic Host Configuration Protocol) 可以减少管理员的工作量 避免用户手工配置网络参数时造成的地址冲突 DHCP报文类型: 报文类型 ...