ABP vNext(后文简称Abp)是 Volo 公司堪称艺术品级的应用开发框架,它基于领域驱动设计(DDD)的思惟,创新地采用了模块化的设计。Abp 目前无疑是 ASP.NET Core 开发框架中最早进和最优雅的存在。笔者认为,凭借绝妙的模块化设计和丝滑的开发体验,Abp 有望超越 Spring 家族在历史上的影响力。git
使用 Abp 框架,你能够提早制做一些功能模块,例如微信登陆、私信、博客、论坛等模块,将它们打包备用。在开发具体的 App 应用时,你能够轻松将模块安装到你的工程中,节省了大量的重复性工做。除了本身造轮子,你还能够在 NuGet 上安装由开源社区维护的模块,固然,社区也在等待你的贡献。github
今天咱们不讲模块开发,而是从最简单的应用开发入手,笔者将遵循 Abp 最佳实践,带你体验如何在 5 分钟内,使用 Abp 框架开发一个通信录 App。数据库
命令行安装 ABP CLI:dotnet tool install -g Volo.Abp.Cli
微信
命令行生成通信录 App 项目:abp new AddressBook
(将在当前目录中生成项目)app
在 Abp 中,联系人应为聚合根 AggregateRoot,详细请参考 Abp 官方手册对于领域驱动设计(DDD)的讲解。框架
新建 aspnet-core/src/AddressBook.Domain/Contacts 目录ide
在目录下手动建立 Contact.cs 文件模块化
public class Contact : AggregateRoot<Guid> { public virtual string Name { get; protected set; } public virtual string PhoneNumber { get; protected set; } public virtual string Address { get; protected set; } public virtual byte? Age { get; protected set; } public virtual DateTime? Birthday { get; protected set; } protected Contact() { } public Contact( Guid id, string name, string phoneNumber, string address, byte? age, DateTime? birthday) : base(id) { Name = name; PhoneNumber = phoneNumber; Address = address; Age = age; Birthday = birthday; } }
下载 AbpHelper GUI:https://github.com/EasyAbp/AbpHelper.GUI/releases工具
使用 Code Generator 功能,一键生成与 Contact 相关的全套代码:
学习
若是你更习惯命令行操做,可使用 AbpHelper CLI:https://github.com/EasyAbp/AbpHelper.CLI
启动 AddressBook.Web 项目
登陆并使用通信录(admin 用户的默认密码是 1q2w3E*
)
你必定注意到了,表单已被 abp-dynamic-form TagHelper 自动生成。另外,你只须要简单的修改本地化文件,就能显示出中文词汇,这里咱们不作演示。
咱们的通信录项目自然包含:用户权限角色管理、多租户 SaaS 支持,若是你打算系统的学习 Abp 框架,请阅读官方手册:https://docs.abp.io
文中使用的 AbpHelper 是由国内爱好者建立的 EasyAbp 开源组织制做的开发工具集,能明显提升你的开发效率,而且彻底免费。此外,EasyAbp 还提供了不少实用的模块,了解更多:https://github.com/EasyAbp/EasyAbpGuide
在下一节中,笔者将会介绍,如何给通信录安装私信模块。此模块由 EasyAbp 组织开发并持续维护,你甚至能够在商业项目中无偿使用它。