亲宝软件园·资讯

展开

五分钟完成 ABP vNext 通讯录 App 开发

张善友 人气:0
# 五分钟完成 ABP vNext 通讯录 App 开发 ABP vNext(后文简称Abp)是 Volo 公司堪称艺术品级的应用开发框架,它基于领域驱动设计(DDD)的思维,创新地采用了模块化的设计。Abp 目前无疑是 ASP.NET Core 开发框架中最先进和最优雅的存在。笔者认为,凭借绝妙的模块化设计和丝滑的开发体验,Abp 有望超越 Spring 家族在历史上的影响力。 ## 模块开发与应用开发的关系 使用 Abp 框架,你可以提前制作一些功能模块,例如微信登录、私信、博客、论坛等模块,将它们打包备用。在开发具体的 App 应用时,你可以轻松将模块安装到你的工程中,节省了大量的重复性工作。除了自己造轮子,你还可以在 NuGet 上安装由开源社区维护的模块,当然,社区也在等待你的贡献。 ## 五分钟完成通讯录 App 开发 今天我们不讲模块开发,而是从最简单的应用开发入手,笔者将遵循 Abp 最佳实践,带你体验如何在 5 分钟内,使用 Abp 框架开发一个通讯录 App。 ### 第一步:使用 ABP CLI 生成项目 1. 命令行安装 ABP CLI:`dotnet tool install -g Volo.Abp.Cli` 1. 命令行生成通讯录 App 项目:`abp new AddressBook`(将在当前目录中生成项目) ### 第二步:创建“联系人”实体 在 Abp 中,联系人应为聚合根 AggregateRoot,详细请参考 Abp 官方手册对于领域驱动设计(DDD)的讲解。 1. 新建 aspnet-core/src/AddressBook.Domain/Contacts 目录 1. 在目录下手动创建 Contact.cs 文件 ``` public class Contact : AggregateRoot { 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; } } ``` 1. 运行 Address.DbMigrator 项目,这是为了给数据库建立基础结构和数据 ### 第三步:使用 AbpHelper 生成剩余代码 1. 下载 AbpHelper GUI:https://github.com/EasyAbp/AbpHelper.GUI/releases 1. 使用 Code Generator 功能,一键生成与 Contact 相关的全套代码: ![EntityCodeGenerator](https://github.com/gdlcf88/Articles/blob/master/Using%20ABP%20vNext%20to%20develop%20address%20book%20application%20in%205%20minutes/zh/images/EntityCodeGenerator.png) > 如果你更习惯命令行操作,可以使用 AbpHelper CLI:https://github.com/EasyAbp/AbpHelper.CLI ### 第四步:开发完毕 1. 启动 AddressBook.Web 项目 ![HomePage](https://github.com/gdlcf88/Articles/raw/master/Using%20ABP%20vNext%20to%20develop%20address%20book%20application%20in%205%20minutes/zh/images/HomePage.png) 1. 登录并使用通讯录(admin 用户的默认密码是 `1q2w3E*`) ![CreateContact](https://github.com/gdlcf88/Articles/raw/master/Using%20ABP%20vNext%20to%20develop%20address%20book%20application%20in%205%20minutes/zh/images/CreateContact.png) ![ContactList](https://github.com/gdlcf88/Articles/raw/master/Using%20ABP%20vNext%20to%20develop%20address%20book%20application%20in%205%20minutes/zh/images/ContactList.png) 你一定注意到了,表单已被 abp-dynamic-form TagHelper 自动生成。另外,你只需要简单的修改本地化文件,就能显示出中文词汇,这里我们不做演示。 ## 后记 我们的通讯录项目天然包含:用户权限角色管理、多租户 SaaS 支持,如果你打算系统的学习 Abp 框架,请阅读官方手册:https:/https://img.qb5200.com/download-x/docs.abp.io 文中使用的 AbpHelper 是由国内爱好者创建的 EasyAbp 开源组织制作的开发工具集,能明显提高你的开发效率,并且完全免费。此外,EasyAbp 还提供了很多实用的模块,了解更多:https://github.com/EasyAbp/EasyAbpGuide ## 下一节 在下一节中,笔者将会介绍,如何给通讯录安装私信模块。此模块由 EasyAbp 组织开发并持续维护,你甚至可以在商业项目中免费使用它。

加载全部内容

相关教程
猜你喜欢
用户评论