HI,下午好,新媒云不收取任何费用,公益非盈利机构
24小时服务热线: 4000-162-302
请扫码咨询

新媒易动态

NEWS CENTER

大部分的B端产品都可以抽象为以下四个部分组成

2021-03-08

那么一个完整的功能配置化包含哪些方面呢?要回答这个问题,需要从一个B端产品最基本的组成部分出发。

大部分的B端产品都可以抽象为以下四个部分组成(有的只有其中几项):

  • 业务数据管理
  • 工作流执行与管理
  • 分析图表
  • 基础信息

而一个全面系统的功能配置化方案,就是针对这四个部分进行的,当然,这个粒度太粗了,没有办法直接做配置,我们再细化一下。

业务管理的配置化包括:

  • 业务数据配置
  • 业务逻辑配置
  • 页面布局配置
  • 辅助功能配置

工作流的配置化包括:

  • 业务流程配置
  • 审批流程配置

分析图表配置化包括:

  • 可视化图形配置
  • 统计表配置

基础信息配置化包括:

  • 用户、组织配置
  • 角色配置
  • 权限配置

我们用下图整理一下:

图1 功能配置化的组成

从这张图中大家可以看出,功能配置化是个系统且庞大的工程,涉及到产品的方方面面,想要做好,需要投入巨大工作量,因此关于配置化的思考越早越好,拖得越晚,产品越臃肿复杂,所需付出的成本越高,当产品复杂到一定程度后,最后会发现与其在现有产品的基础上做配置化,还不如重做。

04 配置化的步骤

无论做哪方面功能的配置化,都可以总结为以下三大步:


图2 配置化三大步

4.1 抽象

抽象是指提炼出你要配置功能包含哪些对象,即这个功能有哪几个组成部分,例如页面布局的配置,可以抽象出页面元素、位置、大小、颜色、样式几个对象,我们的配置化,就是针对这些对象进行的。


图3 页面布局抽象配置对象

在抽象配置对象时,有以下几条重要原则:

第一:根据需求进行抽象

一般来说,在没有其他要求的前提下,抽象出的对象也应该满足MECE原则,即这些对象组合起来就能形成最终的完整功能,同时这些对象相互间没有交叉。

不过在实际功能设计中,我们其实只需要根据具体需求,抽象出需要做配置的对象即可,例如需求只是想换个皮肤,那只需要抽象出“颜色”做成可配置就行了;如果需求是想做页面元素可以调整区域,那只需要抽象出“位置”。

第二:明确抽象对象间关系

抽象出的几个配置对象虽然独立,但不是毫无关联,需要思考清楚这些对象之间的关系是什么,相互之间是如何影响的,例如位置、颜色、大小、样式都是在元素的基础上实现的,先有页面元素,才有其他的配置,这个关系就会影响到我们设计这个功能时,需要考虑顺序、主次。

第三:不同的功能配置化抽象方式不同

很多同学一说到配置化,首先想到的就是模块化,以至于将这两者等同起来了,其实这是片面的认识,例如前面说的页面布局的配置,用的就不是模块化的原理。

模块化本质是一种从业务角度,对业务数据做的内聚和解耦,所以模块化的抽象方式适合业务数据和业务逻辑的配置,但并非适合所有的功能配置。

当配置对象抽象出来后,需要针对它们进一步的细化——分解。

相关推荐