模块划分
模块的划分一般与业务有很高的关联性,我们讨论模块划分的原则是:尽量屏蔽业务对于模块划分的影响,只讨论在一般情况下模块的划分原则。
一般情况下,我们将模块分为非功能模块(业务无关)与功能模块(业务相关)。
#
非功能模块非功能模块主要承载系统中一些业务无关的需求,一般情况下,其作用主要是为功能模块提供基础设施。
非功能模块的划分主要以其提供的基础功能的内容为依据,如:
- 网络请求
- 数据存储
- Log收集
- JSON解析
- 图片显示
- 二维码扫描
- 数据缓存
- 文件上传
......
#
功能模块功能模块主要承载系统中与业务相关的需求,是APP业务的载体,是一个APP对于用户而言的核心价值所在。
功能模块的划分主要由业务决定,主要以其提供的具体功能为基准进行划分。
功能模块根据在系统中扮演的角色还可以进一步细分为上层功能模块与基础功能模块。
上层功能模块
上层功能模块是指根据不同的业务构成的,独立的业务模块。如:- 权限
- 个人中心
- 参数设定
- 职员管理
- 商品
- 订单
......
基础功能模块
基础功能模块对上层功能模块提供基础的业务功能,如:- 支付
- 分享
- 地图定位
- 三方登录
......
#
模块间关系如前所述,非功能模块为功能模块提供基础设施;功能模块实现具体的业务逻辑,体现价值。
二者之间的关系如下图所示:
从整体上看功能模块依赖于非功能模块。
具体来说,功能模块中的基础功能模块依赖于非功能模块,功能模块中的上层功能模块依赖于非功能模块与基础功能模块。