曹德军 發表於 2016-3-12 10:36:00

ABP源码分析一:整体项目结构及目录

<p style="margin: 0; font-size: 11pt"><span style="font-family: 微软雅黑" lang="zh-CN">ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序。</span></p>
<p style="margin: 0; font-size: 11pt"><span style="font-family: 微软雅黑" lang="zh-CN">整个<span style="font-family: Calibri" lang="en-US">Abp<span style="font-family: 微软雅黑" lang="zh-CN">的<span style="font-family: Calibri" lang="en-US">Infrastructure<span style="font-family: 微软雅黑" lang="zh-CN">是以<span style="font-family: Calibri" lang="en-US">Abp<span style="font-family: 微软雅黑" lang="zh-CN">这个<span style="font-family: Calibri" lang="en-US">package<span style="font-family: 微软雅黑" lang="zh-CN">为核心模块<span style="font-family: Calibri" lang="en-US">(core)+15<span style="font-family: 微软雅黑" lang="zh-CN">个模块<span style="font-family: Calibri" lang="en-US">(module).<span style="font-family: 微软雅黑" lang="zh-CN">其中<span style="font-family: Calibri" lang="en-US">13<span style="font-family: 微软雅黑" lang="zh-CN">个依赖于<span style="font-family: Calibri" lang="en-US">Abp<span style="font-family: 微软雅黑" lang="zh-CN">这个核心包。另外两个包(<span style="font-family: 微软雅黑" lang="en-US">FluentMigration,Web.Resources<span style="font-family: 微软雅黑" lang="zh-CN">)相对独立</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt" lang="x-none"><img src="https://images2015.cnblogs.com/blog/4776/201603/4776-20160312103542288-1270286089.png" alt=""></p>
<p style="margin: 0; font-size: 11pt"><span style="color: rgba(0, 0, 0, 1); font-family: 微软雅黑" lang="en-US">Abp.AutoMapper<span style="font-family: Calibri" lang="en-US">: <span style="font-family: 微软雅黑" lang="zh-CN">实现对象之间的自动映射。</span></span></span></p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt"><span style="color: rgba(0, 0, 0, 1)" lang="en-US">Abp.EntityFramework<span lang="zh-CN">:通过<span lang="en-US">EntityFramework<span lang="zh-CN">实现数据访问层。</span></span></span></span></p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt" lang="en-US">Abp.FluentMigrator :对FluentMigrator库做了易用性扩展。</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt" lang="en-US">Abp.HangFire:集成了HangFire,用于实现后台工作任务。</p>
<p style="margin: 0; font-size: 11pt"><span style="color: rgba(0, 0, 0, 1); font-family: 微软雅黑" lang="en-US">Abp.MemoryDb<span style="font-family: 微软雅黑" lang="zh-CN">:<span style="font-family: Calibri" lang="en-US">Memory<span style="font-family: 微软雅黑" lang="en-US">DB<span style="font-family: 微软雅黑" lang="zh-CN">的数据访问层</span></span></span></span></span></p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt"><span lang="en-US">Abp.MongoDB<span lang="zh-CN">:<span lang="en-US">MongoDB<span lang="zh-CN">的数据访问层。这个模块是个鸡肋,实际项目中无法使用。原因后面会详述。</span></span></span></span></p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt"><span lang="en-US">Abp.NHibernate<span lang="zh-CN">:通过<span lang="en-US">NHibernate<span lang="zh-CN">实现数据访问层。</span></span></span></span></p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt"><span lang="en-US">Abp.Owin<span lang="zh-CN">:目前只有一个IAppBuilder的扩展方法,用来解决application启动时候的AppDomain CultureInfo Leak问题。 关于这个Issue可以点击这里。</span></span></p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt"><span lang="en-US">Abp.RedisCache<span lang="zh-CN">:<span lang="en-US">Redis<span lang="zh-CN">的数据访问层</span></span></span></span></p>
<p style="margin: 0; font-size: 11pt"><span style="font-family: 微软雅黑" lang="en-US">Abp.Web<span style="font-family: 微软雅黑" lang="zh-CN">:<span style="font-family: Calibri" lang="en-US"> <span style="font-family: 微软雅黑" lang="zh-CN">提供给<span style="font-family: Calibri" lang="en-US">ASP<span style="font-family: 微软雅黑" lang="en-US">.Net web application <span style="font-family: 微软雅黑" lang="zh-CN">使用的模块</span></span></span></span></span></span></span></p>
<p style="margin: 0; font-size: 11pt"><span style="font-family: 微软雅黑" lang="en-US">Abp.Web.Api<span style="font-family: 微软雅黑" lang="zh-CN">:<span style="font-family: Calibri" lang="en-US"> <span style="font-family: 微软雅黑" lang="zh-CN">提供给<span style="font-family: Calibri" lang="en-US">ASP<span style="font-family: 微软雅黑" lang="en-US">.Net web application <span style="font-family: Calibri" lang="en-US">Webapi<span style="font-family: 微软雅黑" lang="zh-CN">使用的模块</span></span></span></span></span></span></span></span></p>
<p style="margin: 0; font-size: 11pt"><span style="font-family: 微软雅黑" lang="en-US">Abp.Web.Mvc<span style="font-family: 微软雅黑" lang="zh-CN">:<span style="font-family: Calibri" lang="en-US"> <span style="font-family: 微软雅黑" lang="zh-CN">提供给<span style="font-family: Calibri" lang="en-US">ASP<span style="font-family: 微软雅黑" lang="en-US">.Net web application<span style="font-family: Calibri" lang="en-US"> MVC <span style="font-family: 微软雅黑" lang="zh-CN">使用的模块</span></span></span></span></span></span></span></span></p>
<p style="margin: 0; font-size: 11pt"><span style="font-family: 微软雅黑" lang="en-US">Abp.Web.Api.<span style="font-family: Calibri" lang="en-US">Od<span style="font-family: 微软雅黑" lang="en-US">ata <span style="font-family: Calibri" lang="en-US">: <span style="font-family: 微软雅黑" lang="zh-CN">提供给<span style="font-family: Calibri" lang="en-US">ASP<span style="font-family: 微软雅黑" lang="en-US">.Net web application <span style="font-family: Calibri" lang="en-US">Webapi Od<span style="font-family: 微软雅黑" lang="en-US">ata <span style="font-family: 微软雅黑" lang="zh-CN">使用的模块</span></span></span></span></span></span></span></span></span></span></p>
<p style="margin: 0; font-size: 11pt"><span style="font-family: 微软雅黑" lang="en-US">Abp.Web.SignalR<span style="font-family: Calibri" lang="en-US"> : <span style="font-family: 微软雅黑" lang="zh-CN">集成<span style="font-family: 微软雅黑" lang="en-US">SignalR </span></span></span></span></p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt"><span lang="en-US">Abp.Web.Resources:这个模块中只有js和css代码,是用来扩展angularjs或jquery的?</span></p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt"><span lang="en-US"><img src="https://images2015.cnblogs.com/blog/4776/201603/4776-20160312103559897-470190971.png" alt=""></span></p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">&nbsp;</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt"><span style="color: rgba(0, 0, 255, 1); font-family: Microsoft YaHei; font-size: 14pt">ABP源码分析系列文章目录:</span></p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析二:ABP中配置的注册和初始化</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析三:ABP Module</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析四:Configuration</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析五:ABP初始化全过程</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析六:依赖注入的实现</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析七:Setting 以及 Mail</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析八:Logger集成</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析九:后台工作任务</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析十:Unit Of Work</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析十一:Timing</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析十二:本地化</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析十三:缓存Cache实现</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析十四:Entity的设计</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析十五:ABP中的实用扩展方法</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析十六:DTO的设计</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析十七:DTO 自动校验的实现</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析十八:UI Inputs</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析十九:Auditing</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析二十:ApplicationService</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析二十一:Feature</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析二十二:Navigation</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析二十三:Authorization</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析二十四:Notification</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析二十五:EventBus</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析二十六:核心框架中的一些其他功能</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析二十七:ABP.Entity Framework</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析二十八:ABP.MemoryDB</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析二十九:ABP.MongoDb</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析三十:ABP.RedisCache</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析三十一:ABP.AutoMapper</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析三十二:ABP.SignalR</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析三十三:ABP.Web</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析三十四:ABP.Web.Mvc</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析三十五:ABP中动态WebAPI原理解析</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析三十六:ABP.Web.Api</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析三十七:ABP.Web.Api Script Proxy API</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析三十八: ABP.Web.Api.OData</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析三十九:ABP.Hangfire</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析四十:ZERO的Application和Tenant</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析四十一:ZERO的Audit,Setting,Background Job</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析四十二:ZERO的身份认证</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析四十三:ZERO的本地化</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析四十四:ZERO的配置</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析四十五:ABP ZERO中的EntityFramework模块</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析四十六:ABP ZERO中的Ldap模块</p>
<p style="margin: 0; font-family: 微软雅黑; font-size: 11pt">ABP源码分析四十七:ABP中的异常处理</p><br><br>
来源:https://www.cnblogs.com/1zhk/p/5268054.html
頁: [1]
查看完整版本: ABP源码分析一:整体项目结构及目录