随笔分类 - ABP理论基础篇
发表一些关于ABP基础理论性的文章
摘要:"返回总目录" 本篇目录 "为何需要DTO" "领域层抽象" "数据隐藏" "序列化和懒加载问题" "DTO惯例和验证" "DTO和实体的自动映射" "使用特性和扩展方法进行映射" "帮助接口" DTO用于 应用层 和 展现层 间的数据传输。展现层调用具有DTO参数的 ...
阅读全文
摘要:"返回总目录" 本篇目录 "IApplicationService接口" "ApplicationService类" "工作单元" "数据库连接和事务管理" "自动保存更改" "更多" "应用服务的生命周期" 应用服务用于将领域逻辑暴露给展现层。展现层调用具有DTO参数的应用服务,使用领域对象来执行
阅读全文
摘要:"返回总目录" 本篇目录 "介绍" "预定义过滤器" "关闭过滤器" "开启过滤器" "设置过滤器参数" "定义自定义过滤器" "其他ORM" <a name='intro' </a 介绍 软删除 模式通常用于不会真正从数据库删除一个实体而是仅仅将它标记为"已删除的"。这样,...
阅读全文
摘要:"返回总目录" 本篇目录 "事件总线" "定义事件" "触发事件" "处理事件" "句柄注册" "取消注册" 在C 中,我们可以在一个类中定义自己的事件,而其他的类可以注册该事件,当某些事情发生时,可以通知到该类。这对于桌面应用或者独立的windows服务来说是非常有用的。但对于一个web应用来说是
阅读全文
摘要:"返回总目录" 本篇目录 "介绍" "创建内嵌文件" "暴露内嵌文件" "使用内嵌文件" <a name='intro' </a 介绍 在一个web应用中,有供客户端使用的javascript,css,xml等文件。它们一般是作为分离的文件被添加到web项目中并发布。有时,我们需要将...
阅读全文
摘要:"返回总目录" 本篇目录 "公共连接和事务管理方法" "ABP中的连接和事务管理" "仓储类" "应用服务" "工作单元" "工作单元详解" "关闭工作单元" "非事务的工作单元" "工作单元方法调用其它" "工作单元作用域" "自动保存" "IRepository.GetAll()方法" "Uni
阅读全文
摘要:"返回总目录" 本篇目录 "Nuget包" "配置" "实体映射" "仓储" "仓储基类" "实现仓储" "自定义仓储方法" "阅读其他" ABP可以使用任何ORM框架工作,并且已经内置了 NHibernate 集成。这篇文章会解释如何在ABP中使用NHibernate。阅读本文的前提是假设你已经熟
阅读全文
摘要:"返回总目录" 本篇目录 "Nuget包" "创建DbContext" "仓储" "仓储基类" "实现仓储" "自定义仓储方法" "阅读其他" ABP可以使用任何ORM框架工作,并且已经内置了 EntityFramework 集成。这篇文章会解释如何在ABP中使用Entit...
阅读全文
摘要:"返回总目录" 本篇目录 "介绍" "IDomainService接口和DomainService类" "样例" "创建一个接口" "服务实现" "调用应用服务" "一些讨论" "何不只使用应用服务" "如何强制使用领域服务" <a name='intro' </...
阅读全文
摘要:"返回总目录" 本篇目录 "IRepository接口" "查询" "插入" "更新" "删除" "其他" "关于异步方法" "仓储实现" "管理数据库连接" "仓储的生命周期" "仓储最佳实践" Martin Fowler对仓储的定义 位于领域层和数据映...
阅读全文
摘要:"返回总目录" 本篇目录 "介绍" "配置" "通过特性开启/关闭" "注意" "我项目中的例子" <a name="intro" </a 介绍 维基百科说: “审计跟踪(也叫审计日志)是与安全相关的按照时间顺序的记录,记录集或者记录源,它们提供了活动序列的文档证据,这些活动序...
阅读全文
摘要:"返回总目录" 本篇目录 "实体类" "惯例接口" "审计" "软删除" "激活/未激活" "IEntity接口" 实体是DDD(领域驱动设计)的核心概念之一。Eirc Evans是这样描述的实体的:“它根本上不是通过属性定义的,而是通过一系列连续性和标识定义的”。因此,实...
阅读全文
摘要:"返回总目录" 本篇目录 "介绍" "定义设置" "获取设置值" "更改设置" "关于缓存" 介绍 每个应用程序都需要存储一些设置信息,然后在应用程序中的某个地方使用这些设置。ABP提供了健壮的基础设施来存储或检索服务端和客户端的 应用程序,租户,用户 级别的可用设置。 一个设置一般是存储在数据库(
阅读全文
摘要:"返回总目录" 本篇目录 "介绍" "ICacheManager" "ICache" "ITypedCache" "配置" <a name='intro' </a 介绍 ABP提供了缓存的抽象,它内部使用了这个缓存抽象。虽然默认的实现使用了MemoryCache,但是也可以为其他的...
阅读全文
摘要:"返回总目录" 本篇目录 "服务端" "获取Logger" "基类中的Logger" "配置" "客户端" <a name='server' </a 服务端 ABP使用的是Castle Windsor的 "日志记录设备" 。它可以和不同的日志类库一起工作,比如 Log4Net...
阅读全文
摘要:"返回总目录" 本篇目录 "介绍" "注入Session" "使用Session属性" <a name='intro' </a 介绍 当应用程序要求用户登录时,那么应用程序也需要知道当前用户正在执行的操作。虽然ASP.NET本身在展现层提供了Session对象,但ABP也提供了在任何需...
阅读全文
摘要:"返回总目录" 本篇目录 "什么是依赖注入" "传统方式产生的问题" "解决办法" "依赖注入框架" "ABP中的依赖注入基础设施" "注册" "解析" "其他" "ASP.NET MVC和ASP.NET Web API集成" "最后提示" 什么是依赖注入 维基百科说:“依赖注入是一种软件设计模式,
阅读全文
摘要:"返回总目录" "查看更详细信息以及下载源代码请查看原文档" ABP v0.9.2.0 | 【更新日期:2016/6/6 11:21:28 】 解决方案转换成xproj/project.json格式。 添加了Appveyor持续集成。 创建了EntityCache基类,可以轻松缓存实体了。 添加了可
阅读全文
摘要:"返回总目录" 本篇目录 "框架" "测试基" ABP已经发布在Nuget上,这里是所有包的列表。 <a name='framework' </a 框架 "Abp" Abp系统的核心包。所有其他的包都依赖这个包。 "Abp.Web" 提供了MVC和Web API都使用的一些通用类和资源 ...
阅读全文
摘要:"返回总目录" 本篇目录 "什么是多租户" "ABP中的多租户" <a name='what' </a 什么是多租户 维基百科:“软件 多租户 是指一种软件架构,在这种软件架构中,软件的 一个实例 运行在服务器上并且为多个租户服务”。一个租户是一组共享该软件实例特定权限的用户。有了多租户...
阅读全文