ABP框架几点说明:
一、什么是ABP
ABP是一个建立在最新的ASP.NET的MVC和Web API技术的应用框架。它可以很容易地使用依赖注入、日志记录、验证、异常处理、本地化等,也使用流行的框架和库。
ABP实现N层架构(域、应用、基础设施和表示层)和领域驱动设计(实体库,仓储,领域/应用服务、数据传输对象..)。还实现并提供了一个良好的基础结构来实现诸如依赖注入的最佳实践。
ABP创建你的项目启动模板。它包括默认使用的大多数框架和库。你也可以选择单页(AngularJS)或多页(MVC)架构,EntityFramework或NHibernate作为ORM。
二、项目结构
ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序。整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module).其中13个依赖于Abp这个核心包,另外两个包(FluentMigration,Web.Resources)相对独立。Abp.AutoMapper: 实现对象之间的自动映射。Abp.EntityFramework:通过EntityFramework实现数据访问层。Abp.FluentMigrator :对FluentMigrator库做了易用性扩展。Abp.HangFire:集成了HangFire,用于实现后台工作任务。Abp.MemoryDb:MemoryDB的数据访问层Abp.MongoDB:MongoDB的数据访问层。这个模块是个鸡肋,实际项目中无法使用。原因后面会详述。Abp.NHibernate:通过NHibernate实现数据访问层。Abp.Owin:目前只有一个IAppBuilder的扩展方法,用来解决application启动时候的AppDomain CultureInfo Leak问题。 关于这个Issue可以点击这里。Abp.RedisCache:Redis的数据访问层Abp.Web: 提供给ASP.Net web application 使用的模块Abp.Web.Api: 提供给ASP.Net web application Webapi使用的模块Abp.Web.Mvc: 提供给ASP.Net web application MVC 使用的模块Abp.Web.Api.Odata : 提供给ASP.Net web application Webapi Odata 使用的模块Abp.Web.SignalR : 集成SignalRAbp.Web.Resources:这个模块中只有js和css代码,是用来扩展angularjs或jquery的?
ABP直接实践、
1、透过事物实体或本质,去了解概念,即不了解概念直接上手实践
2、通过接触相似的概念,去靠近,了解新框架 -概念有 它解决的问题,发挥的作用