1. 引言

现在的互联网已不在仅仅局限于网页应用,IOS、Android、平板、智能家居等平台正如火如荼的迅速发展,移动应用的需求也空前旺盛。所有的互联网公司都不想错过这一次移动浪潮,布局移动市场分一份移动红利。
的确,智能手机作为我们日常生活已必不可少的一部分,通过手机app能够获得更好的体验,比如社交、购物、娱乐、生活。

但这也引入了一个问题,如果布局移动市场,就意味着要维护好几条产品线,比如网页、Android、IOS、微信公众号等。这对公司来说无疑是一项大的投入。
产品对于用户来说,用户只关心体验。
而对于开发者来说,开发者更关心在保证业务流程及数据的正确流转下,如何对产品线进行集成,来避免做重复工作。

而恰好ABP框架就已经帮我们解决了这一问题,Abp是基于【模块化设计思想】构建的,开发人员可以将自定义的功能以模块(module)的形式集成到ABP中。
不同的模块通过组装就可以组成一个新的功能。

那你肯定很好奇如何玩转Abp模块,下面我们就以我们的Demo为例,来进行微信公众号模块的开发。

2. 创建微信公众号模块

定义一个模块很简单,只需创建微信项目,然后定义WeixinModule类继承自AbpModule即可,再然后为WeixinModule定义[DependsOn]特性指定依赖的模块即可。

2.1. 创建微信公众号项目

新建mvc项目,命名项目名为LearningMpaAbp.Weixin。因为要使用到Abp定义的模块功能,首先要安装Abp Nuget包,选择后会提示需要以下Nuget包,点击确定安装即可。

2.2. 定义微信公众模块

新建LearningMpaAbpWeixinModule继承自AbpModule。代码如下:

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