1. 程式人生 > 實用技巧 >ABP的新舊版本選型

ABP的新舊版本選型

新版本(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)
    {
    }
}

  

舊版本 (AspNetBoilerplate)

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);
    }
}

  

選型

如果已經使用舊版本,而且沒有微服務需求,可以繼續使用;

如果是全新的專案,建議直接使用新版的,畢竟新版的才是未來的趨勢;