本节目录 介绍 DataAnnotations ICustomValidate IShouldNormalize 实现Abp Validation 介绍 Abp中在Application层集成了validation. 直接上代码吧. DataAnnotations 这是微软提供的一套验证框架,只用引用程序集System.ComponentModel.DataAnnotations. 自带的各种特性标签就不说了,默认在MVC中已集成此验证. 这里说下验证方法: static void Main(s…
本节目录 介绍 分析Abp源码 实现UOW 介绍 UOW(全称UnitOfWork)是指工作单元. 在Abp中,工作单元对于仓储和应用服务方法默认开启.并在一次请求中,共享同一个工作单元. 同时在Abp中,不仅支持同一个数据库连接,还支持事务处理. 分析Abp源码 1.UnitOfWorkRegistrar 2.ComponentRegistered 3.IsConventionalUowClass 4.Intercept 5.PerformSyncUow 实现UOW 定义IUnitOfWork…
本节目录 介绍 定义Filter 设置Filter 这是Abp中多租户.软删除.激活\禁用等如此方便的原因 Install-Package EntityFramework.DynamicFilters 定义数据 class DemoDb : DbContext { public DemoDb() : base("Default") { } public IDbSet<Blog> Blogs { get; set; } } interface ISoftDelete { bo…
本节目录 原理介绍 Abp源码分析 代码实现 原理介绍 事件总线大致原理: (1)       在事件总线内部维护着一个事件与事件处理程序相映射的字典. (2)       利用反射,事件总线会将实现了IEventHandler的处理程序与相应事件关联到一起,相当于实现了事件处理程序对事件的订阅. (3)       当发布事件时,事件总线会从字典中找出相应的事件处理程序,然后利用反射去调用事件处理程序中的方法. Abp源码分析 1.AbpKernelModule的Initialize方法 2.…
本节目录 Abp介绍 Abp源码分析 代码实现 Abp介绍 学习了一段时间的Abp,领略了一下前辈的架构.总结还是SOLID,降低耦合性. 虽然从架构上说甚至不依赖于DI框架,但实际上在基础框架中还是有一定的必须依赖Castle Windsor. Abp依靠IOC和AOP实现了大量的自动化. 其中Module设计,是Abp的核心. Abp源码分析 Abp的入口:AbpBootstrapper.Initialize() 此方法中做了各种配置的注册及初始化. 最重要的是AbpModuleManage…
所有翻译文档,将上传word文档至GitHub 本节目录: 简介 代码示例 支持的功能 GitHub 简介 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP不仅仅是1个框架,更提供了一个基于DDD和最佳实践方案 ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 代码示例 (Application…
ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. ASP.NET Boilerplate 基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现所有DDD的概念). ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上…
在前一篇博客滴滴插件化框架VirtualAPK原理解析(一)之插件Activity管理 中VirtualAPK是如何对Activity进行管理的,本篇博客,我们继续来学习这个框架,这次我们学习的是如何去管理Service. Service工作原理分析 说道如何对Service进行插件化,肯定得先了解Service的工作过程,不然何谈插件化?所以我们先一起学习Service的工作原理. Service分为两种形式:以startService启动的服务和用bindService绑定的服务:其实这两种…
本文转载自:http://blog.csdn.net/wlwl0071986/article/details/50935496 一.adb守护进程的初始化 源码路径:~/system/core/adb/adb.c int main(int argc, char **argv) ---> start_device_log() ---> property_get("persist.adb.trace_mask", value, "")  // 如果定义了该属…
1.什么是Foirk/Join框架 Fork/Join框架是Java7提供用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架. 2.什么是并行流与顺序流 2.1  什么是并行流? 并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流. 2.2  工作窃取模式 某个线程从其他队列里窃取任务来执行, 3.使用Fork/Join框架 /** * 累加运算测试 */ public class ForkJoinCalculate ex…