ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 一.AbpSession是Session吗? 1.首先来看看它们分别对应的类型是什么? 查看源码发现Session是定义在Controller中的类型为HttpSessionStateBase的属性. public HttpSessionStateBase Session { get; set; } 再来看看AbpSession是何须类也,咱们定位到AbpController中看一看. publ…
ABP是"ASP.NET Boilerplate Project (ASP.NET样板项目)"的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. 框架 ABP是基于最新的ASP.NET CORE,ASP.NET MVC和Web API技术的应用程序框架.并使用流行的框架和库,它提供了便于使用的授权,依赖注入,验证,异常处理,本地化,日志记录,缓存等常用功能. 架构 ABP实现了多层…
ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 创建任务时我们需要指定分配给谁,Demo中我们使用一个下拉列表用来显示当前系统的所有用户,以供用户选择.我们每创建一个任务时都要去数据库取一次用户列表,然后绑定到用户下拉列表显示.如果就单单对一个demo来说,这样实现也无可厚非,但是在正式项目中,显然是不合理的,浪费程序性能,有待优化. 说到优化,你肯定立马就想到了使用缓存.是的,缓存是提高程序性能的高效方式之一. 这一节我们就针对…
ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 之前的文章ABP入门系列(7)--分页实现讲解了如何进行分页展示,但其分页展示仅适用于前台web分页,在后台管理系统中并不适用.后台管理系统中的数据展示一般都是使用一些表格插件来完成的.这一节我们就使用BootstrapTable进行举例说明. 2. BootstrapTable 基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选.多选.排序.…
一.解释下应用服务层 应用服务用于将领域(业务)逻辑暴露给展现层.展现层通过传入DTO(数据传输对象)参数来调用应用服务,而应用服务通过领域对象来执行相应的业务逻辑并且将DTO返回给展现层.因此,展现层和领域层将被完全隔离开来. 以下几点,在创建应用服务时需要注意: 在ABP中,一个应用服务需要实现IApplicationService接口,最好的实践是针对每个应用服务都创建相应继承自IApplicationService的接口.(通过继承该接口,ABP会自动帮助依赖注入) ABP为IAppli…
ABP入门系列目录--学习Abp框架之实操演练 完成了任务清单的增删改查,咱们来讲一讲必不可少的的分页功能. 首先很庆幸ABP已经帮我们封装了分页实现,实在是贴心啊. 来来来,这一节咱们就来捋一捋如何使用ABP的进行分页吧. 一.分页请求DTO定义 数据传输对象(Data Transfer Objects)用于应用层和展现层的数据传输. 展现层传入数据传输对象(DTO)调用一个应用服务方法,接着应用服务通过领域对象执行一些特定的业务逻辑并且返回DTO给展现层.这样展现层和领域层被完全分离开了.在…
ABP入门系列目录--学习Abp框架之实操演练 讲完了分页功能,这一节我们先不急着实现新的功能.来简要介绍下Abp中Json的用法.为什么要在这一节讲呢?当然是做铺垫啊,后面的系列文章会经常和Json这个东西打交道. 一.Json是干什么的 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成.JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, Ja…
ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 前言 In computer programming, unit testing is a software testing method by which individual units of source code, sets of one or more computer program modules together with associated control data,…
ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1.引言 自上次更新有一个多月了,发现越往下写,越不知如何去写.特别是当遇到DDD中一些概念术语的时候,尤其迷惑.如果只是简单的去介绍如何去使用ABP,我只需参照官方文档,实现到任务清单Demo中去就可以了,不劳神不费力.但是,这样就等于一知半解. 知之为知之,不知为不知,是知也.知其然知其所以然,方能举一反三嘛. 为了揭开迷惑,最近开始研读<实现领域驱动设计>去学习DDD中的思想,并开了一个…
ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1.引言 最近刚学习了下DDD中领域事件的理论知识,总的来说领域事件主要有两个作用,一是解耦,二是使用领域事件进行事务的拆分,通过引入事件存储,来实现数据的最终一致性.若想了解DDD中领域事件的概念,可参考DDD理论学习系列(9)-- 领域事件. Abp中使用事件总线来实现领域事件,而关于事件总线的实现,大家可参考我这篇博文--事件总线知多少,本文将不再赘述. 2.用例分析 当用户被成功分配任务…