ABP vNext(後文簡稱Abp)是 Volo 公司堪稱藝術品級的應用開發框架,它基於領域驅動設計(DDD)的思維,創新地採用了模塊化的設計。Abp 目前無疑是 ASP.NET Core 開發框架中最先進和最優雅的存在。筆者認為,憑藉絕妙的模塊化設計和絲滑的開發體驗,Abp 有望超越 Spring ...
ABP vNext(後文簡稱Abp)是 Volo 公司堪稱藝術品級的應用開發框架,它基於領域驅動設計(DDD)的思維,創新地採用了模塊化的設計。Abp 目前無疑是 ASP.NET Core 開發框架中最先進和最優雅的存在。筆者認為,憑藉絕妙的模塊化設計和絲滑的開發體驗,Abp 有望超越 Spring 家族在歷史上的影響力。
模塊開發與應用開發的關係
使用 Abp 框架,你可以提前製作一些功能模塊,例如微信登錄、私信、博客、論壇等模塊,將它們打包備用。在開發具體的 App 應用時,你可以輕鬆將模塊安裝到你的工程中,節省了大量的重覆性工作。除了自己造輪子,你還可以在 NuGet 上安裝由開源社區維護的模塊,當然,社區也在等待你的貢獻。
五分鐘完成通訊錄 App 開發
今天我們不講模塊開發,而是從最簡單的應用開發入手,筆者將遵循 Abp 最佳實踐,帶你體驗如何在 5 分鐘內,使用 Abp 框架開發一個通訊錄 App。
第一步:使用 ABP CLI 生成項目
命令行安裝 ABP CLI:
dotnet tool install -g Volo.Abp.Cli
命令行生成通訊錄 App 項目:
abp new AddressBook
(將在當前目錄中生成項目)
第二步:創建“聯繫人”實體
在 Abp 中,聯繫人應為聚合根 AggregateRoot,詳細請參考 Abp 官方手冊對於領域驅動設計(DDD)的講解。
新建 aspnet-core/src/AddressBook.Domain/Contacts 目錄
在目錄下手動創建 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;
}
}
- 運行 Address.DbMigrator 項目,這是為了給資料庫建立基礎結構和數據
第三步:使用 AbpHelper 生成剩餘代碼
下載 AbpHelper GUI:https://github.com/EasyAbp/AbpHelper.GUI/releases
使用 Code Generator 功能,一鍵生成與 Contact 相關的全套代碼:
如果你是第一次使用,請通過左側的 Install or update AbpHelper CLI module 安裝 CLI 工具
如果你更習慣命令行操作,可以直接使用 AbpHelper CLI:https://github.com/EasyAbp/AbpHelper.CLI
第四步:開發完畢
啟動 AddressBook.Web 項目
登錄並使用通訊錄(admin 用戶的預設密碼是
1q2w3E*
)
你一定註意到了,表單已被 abp-dynamic-form TagHelper 自動生成。另外,你只需要簡單的修改本地化文件,就能顯示出中文辭彙,這裡我們不做演示。
Contact 的 RESTful API 也已經自動生成,如果需要它們,訪問路由 /swagger
後記
我們的通訊錄項目天然包含:用戶許可權角色管理、多租戶 SaaS 支持,如果你打算系統的學習 Abp 框架,請閱讀官方手冊:https://docs.abp.io
文中使用的 AbpHelper 是由國內愛好者創建的 EasyAbp 開源組織製作的開發工具集,能明顯提高你的開發效率,並且完全免費。此外,EasyAbp 還提供了很多實用的模塊,瞭解更多:https://github.com/EasyAbp/EasyAbpGuide
下一節
在下一節中,筆者將會介紹,如何給通訊錄安裝私信模塊。此模塊由 EasyAbp 組織開發並持續維護,你甚至可以在商業項目中免費使用它。
原文地址:五分鐘完成 ABP vNext 通訊錄 App 開發