ABP的新旧版本选型

  • A+
所属分类:.NET技术
摘要

https://www.abp.io/ABP是一个开源的应用程序框架ASP.NET基于核心的web应用程序开发,也支持开发其他类型的应用程序。


新版本  (abp vnext )

https://www.abp.io/

ABP是一个开源的应用程序框架ASP.NET基于核心的web应用程序开发,也支持开发其他类型的应用程序。

对旧版本的重写,基于ASP.NET CORE,主要定位微服务;

//Base class for CRUD services public class PeopleAppService     : CrudAppService<Person, PersonDto, Guid>,       IPeopleAppService {     //Generic repository     public PeopleAppService(         IRepository<Person, Guid> repository     ) : base(repository)     {     } } 

  

 

旧版本 (AspNet Boilerplate)   

https://aspnetboilerplate.com/

ASP.NET样板(Boilerplate,ABP)是一个开源的、有良好文档记录的应用程序框架。它不仅仅是一个框架,它还提供了一个基于领域驱动设计的强大的体系结构模型,并考虑了所有的最佳实践。

ABP与最新的ASP.NETCore和EF Core,但也支持ASP.NETMVC5.x和EF6.x。

基于Core和framework ;稳定和长期维护;

public class TaskAppService : ApplicationService, ITaskAppService {     private readonly IRepository<Task> _taskRepository;      public TaskAppService(IRepository<Task> taskRepository)     {         _taskRepository = taskRepository;     }      [AbpAuthorize(MyPermissions.UpdateTasks)]     public async Task UpdateTask(UpdateTaskInput input)     {         Logger.Info("Updating a task for input: " + input);          var task = await _taskRepository.FirstOrDefaultAsync(input.TaskId);         if (task == null)         {             throw new UserFriendlyException(L("CouldNotFindTheTaskMessage"));         }          ObjectMapper.MapTo(input, task);     } } 

  

 

选型

如果已经使用旧版本,而且没有微服务需求,可以继续使用;

如果是全新的项目,建议直接使用新版的,毕竟新版的才是未来的趋势;