本文共 2869 字,大约阅读时间需要 9 分钟。
本节内容:
简介
我们总是对不同的需求开发不同的应用。但至少在某些层面上,一次又一次地重复实现通用的和类似的功能。如:授权,验证,异常处理,日志,本地化,数据库连接管理,设置管理,审核日志等功能。所以我们创建架构和最佳实践,如分层和模块架构,DDD,依赖注入等,并尝试开发应用时基于一些约定。
由于所有这些是非常耗时而且很难单独创建并可适用于每个项目,许多公司创建自己的框架,他们用自己的框架能快速开发新应用而且不出错。但不是所有的公司都是幸运的,大部分公司没有时间,预算和团队来开发好的框架。他们甚至都没有可能创建一个框架,因为编写文档,培训开发人员和维护框架都是非常困难的。
ASP.NET Boilerplate (ABP) 是一个开源并且有丰富文档的应用框架,开发宗旨是:“为所有公司,所有开发人员,开发出一个通用框架!”,而且不只是一个框架,同时提供一个强大的基于DDD的构架模型和最佳实践。
一个快速示例
让我们从一个简单的类来体会一下ABP带来的便利:
public class TaskAppService:ApplicationService,ITaskAppService{ private readonly IRepository_taskRepository; public TaskAppService(IRepository taskRepository) { _taskRepository = taskRepository; } [AbpAuthorize(MyPermissions.UpdatingTasks)] 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("CouldNotFoundTheTaskMessage")); } Input.MapTo(task); }}
示例里我们看到一个方法,在DDD中,应用服务方法是在表示层执行应用的用户用例的。我们可以想成UpdateTask方法是被Ajax调用。让我们看看ABP带来的便利:
通过这么一个简单类我们能看到ABP的便利。完成这些任务一般来说都是很费时的,但是所有的一切,ABP都自动处理了。
其它特性
除了示例所示,ABP提供了一个强大的基础架构和应用模型,下列为ABP的其它特性:
查看了解所有功能。
启动模板
开始一个新的解决方案、创建层、安装nuget包、创建一个简单的布局和菜单...所有这些都是耗时的工作。
ABP提供预创建的,使开始一个新的解决方案更简单。模板支持SPA(单页面应用)和MPA(多页面MVC应用)结构。同时允许我们使用不同的ORM工具。
如何使用
ABP开源项目在上,分发在上。“”是使用ABP的最简单方式(按所述操作)。
kid1412附:
转载地址:http://wmnkl.baihongyu.com/