1. 引言

現(xiàn)在的互聯(lián)網(wǎng)已不在僅僅局限于網(wǎng)頁應(yīng)用,IOS、Android、平板、智能家居等平臺(tái)正如火如荼的迅速發(fā)展,移動(dòng)應(yīng)用的需求也空前旺盛。所有的互聯(lián)網(wǎng)公司都不想錯(cuò)過這一次移動(dòng)浪潮,布局移動(dòng)市場分一份移動(dòng)紅利。
的確,智能手機(jī)作為我們?nèi)粘I钜驯夭豢缮俚囊徊糠?,通過手機(jī)app能夠獲得更好的體驗(yàn),比如社交、購物、娛樂、生活。

但這也引入了一個(gè)問題,如果布局移動(dòng)市場,就意味著要維護(hù)好幾條產(chǎn)品線,比如網(wǎng)頁、Android、IOS、微信公眾號(hào)等。這對(duì)公司來說無疑是一項(xiàng)大的投入。
產(chǎn)品對(duì)于用戶來說,用戶只關(guān)心體驗(yàn)。
而對(duì)于開發(fā)者來說,開發(fā)者更關(guān)心在保證業(yè)務(wù)流程及數(shù)據(jù)的正確流轉(zhuǎn)下,如何對(duì)產(chǎn)品線進(jìn)行集成,來避免做重復(fù)工作。

而恰好ABP框架就已經(jīng)幫我們解決了這一問題,Abp是基于【模塊化設(shè)計(jì)思想】構(gòu)建的,開發(fā)人員可以將自定義的功能以模塊(module)的形式集成到ABP中。
不同的模塊通過組裝就可以組成一個(gè)新的功能。

那你肯定很好奇如何玩轉(zhuǎn)Abp模塊,下面我們就以我們的Demo為例,來進(jìn)行微信公眾號(hào)模塊的開發(fā)。

2. 創(chuàng)建微信公眾號(hào)模塊

定義一個(gè)模塊很簡單,只需創(chuàng)建微信項(xiàng)目,然后定義WeixinModule類繼承自AbpModule即可,再然后為WeixinModule定義[DependsOn]特性指定依賴的模塊即可。

2.1. 創(chuàng)建微信公眾號(hào)項(xiàng)目

新建mvc項(xiàng)目,命名項(xiàng)目名為LearningMpaAbp.Weixin。因?yàn)橐褂玫紸bp定義的模塊功能,首先要安裝Abp Nuget包,選擇后會(huì)提示需要以下Nuget包,點(diǎn)擊確定安裝即可。

2.2. 定義微信公眾模塊

新建LearningMpaAbpWeixinModule繼承自AbpModule。代碼如下:

public class LearningMpaAbpWeixinModule:AbpModule{    /// <summary>
    /// 預(yù)初始化,通常是用來配置框架以及其它模塊
    /// </summary>
    public override void PreInitialize()    {        base.P