五分鐘完成 ABP vNext 通信錄 App 開發

ABP vNext(後文簡稱Abp)是 Volo 公司堪稱藝術品級的應用開發框架,它基於領域驅動設計(DDD)的思惟,創新地採用了模塊化的設計。Abp 目前無疑是 ASP.NET Core 開發框架中最早進和最優雅的存在。筆者認爲,憑藉絕妙的模塊化設計和絲滑的開發體驗,Abp 有望超越 Spring 家族在歷史上的影響力。git

模塊開發與應用開發的關係

使用 Abp 框架,你能夠提早製做一些功能模塊,例如微信登陸、私信、博客、論壇等模塊,將它們打包備用。在開發具體的 App 應用時,你能夠輕鬆將模塊安裝到你的工程中,節省了大量的重複性工做。除了本身造輪子,你還能夠在 NuGet 上安裝由開源社區維護的模塊,固然,社區也在等待你的貢獻。github

五分鐘完成通信錄 App 開發

今天咱們不講模塊開發,而是從最簡單的應用開發入手,筆者將遵循 Abp 最佳實踐,帶你體驗如何在 5 分鐘內,使用 Abp 框架開發一個通信錄 App。數據庫

第一步:使用 ABP CLI 生成項目

  1. 命令行安裝 ABP CLI:dotnet tool install -g Volo.Abp.Cli微信

  2. 命令行生成通信錄 App 項目:abp new AddressBook(將在當前目錄中生成項目)app

第二步:建立「聯繫人」實體

在 Abp 中,聯繫人應爲聚合根 AggregateRoot,詳細請參考 Abp 官方手冊對於領域驅動設計(DDD)的講解。框架

  1. 新建 aspnet-core/src/AddressBook.Domain/Contacts 目錄ide

  2. 在目錄下手動建立 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;
        }
    }
  1. 運行 Address.DbMigrator 項目,這是爲了給數據庫創建基礎結構和數據

第三步:使用 AbpHelper 生成剩餘代碼

  1. 下載 AbpHelper GUI:https://github.com/EasyAbp/AbpHelper.GUI/releases工具

  2. 使用 Code Generator 功能,一鍵生成與 Contact 相關的全套代碼:
    EntityCodeGenerator學習

若是你更習慣命令行操做,可使用 AbpHelper CLI:https://github.com/EasyAbp/AbpHelper.CLI

第四步:開發完畢

  1. 啓動 AddressBook.Web 項目
    HomePage

  2. 登陸並使用通信錄(admin 用戶的默認密碼是 1q2w3E*
    CreateContact
    ContactList

你必定注意到了,表單已被 abp-dynamic-form TagHelper 自動生成。另外,你只須要簡單的修改本地化文件,就能顯示出中文詞彙,這裏咱們不作演示。

後記

咱們的通信錄項目自然包含:用戶權限角色管理、多租戶 SaaS 支持,若是你打算系統的學習 Abp 框架,請閱讀官方手冊:https://docs.abp.io

文中使用的 AbpHelper 是由國內愛好者建立的 EasyAbp 開源組織製做的開發工具集,能明顯提升你的開發效率,而且徹底免費。此外,EasyAbp 還提供了不少實用的模塊,瞭解更多:https://github.com/EasyAbp/EasyAbpGuide

下一節

在下一節中,筆者將會介紹,如何給通信錄安裝私信模塊。此模塊由 EasyAbp 組織開發並持續維護,你甚至能夠在商業項目中無償使用它。

原文地址:五分鐘完成 ABP vNext 通信錄 App 開發

相關文章
相關標籤/搜索