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 組織開發並持續維護,你甚至能夠在商業項目中無償使用它。