
地 址:上海市浦东新区66号
电 话:18158351738
网址:www.lbwcode.com
邮 箱:6109227@qq.com
笔者深入细节从(cong)多个角度解析了模块化设计的何建概念,帮助我们认识(shi)、立模搭建模块化设计思维。块化块化一、设计设计什么是产品从多模块化设计?
这两(liang)年来,产品模块化设计逐渐受到大(da)家的个角推崇,那么什么是度解的(de)概产品模块化设计呢?

产品模块化设计就是将(jiang)产品分成几个(ge)部分,每一部分(fen)都具有(you)独立功能,析模具有一致的何建几何连接接口和一致的输入、输出接口的立模单元,相同种类(lei)的块化块化模块在产品族中可以(yi)重用和互换,相关(guan)模块的设计设计排列组合就可(ke)以形成最(zui)终的(de)产品。

通过模块的(de)产品从多组合配置,就可以创建(jian)不同需求的个角产品,满足客户的(de)度解的概定制需求;相似性的重用,可以使整个产品生命周期中的采购、物(wu)流、制造和服务资源简化。

模块化或者说接口式开(kai)发,让产品在功能使用过程中(zhong),灵活性更高,下面是我在今年平台成长体系(xi)搭建过程中,进行了任务(wu)体系产品设计(ji)时,运用模块化(hua)设计思(si)路,将功设计成模块接口形式,提高运用效率的过程。
二(er)、僵硬的功能设计思路今年年初,我开始着(zhe)手进行用户成长体系——任务体系的功能设计;
在成长体系的构建中,任务体系是不可缺少的模块:通过任务和奖励的合理刺激,用户以物质,荣誉为目的,在平台中不(bu)断贡献自己的(de)活跃,获得更(geng)高级的(de)物质和荣誉,循环递进(jin),就像《上(shang)瘾》中说到的(de)上瘾模型(xing):
上瘾模型
任务体系就(jiu)是上瘾模型(xing)中的行(xing)动创造者,不同的任务搭配不同层级的奖励,形成多变的酬赏,让用户更容易投入到平台中。
在一开始接触这项工作时,我的设计思路是:梳理出平台所有的任务,将对应的奖励也罗列出来,每一项任务绑定一个奖励,生成后即永久固定,这样的设计(ji)方法在开发过程中一步(bu)到位,所有的任务和奖励设计好后,不会再有变化(hua),如(ru)下图所(suo)示:
但仔细想想就会发现,这样的设计存在着一个巨大的缺陷:成本计算,运营效果预估,运营方案等等的准备工作都需要进行先期预估,才能进行开发;
结合上面的条件,可以想见,后台的功能设计和(he)开发上将会非常僵硬,无论是使用还是后续延展,都会有(you)很(hen)大的难度,这(zhe)样的产品开发方式,也与敏捷开发模式背道而驰,若在前期没有做到完整的梳理和运营规划,将会对后续的产品运营产生(sheng)极大的困难。
三、模块化设计思维的转变(bian)在了解到模块化设计方法后(hou),我对任务体系的设计有(you)了一个新的想法:将任务和奖励进(jin)行分离。
任务模块进(jin)行功能拆解,将(jiang)用户属性,时间维度,行为等变成可编辑式, 生成后随时调控,灵活运(yun)营。
奖励模块作为工(gong)具化产品开发(fa),以接口形(xing)式对外进(jin)行组合(he)搭配,不仅仅适用于任务,还(hai)可以(yi)对接至活动,从而(er)实(shi)现一个模块多处使用,真正实(shi)现随时调用(yong),随时上线。
模块化(hua)设计思路
此(ci)时,产品开发前期需要梳理的内容就只剩下平台行为,其他的工作,例如运营方案、运营效果的预估均可以在开(kai)发过程中同步完成,而不必占用项目的开发时间。
四、数据效果在这(zhe)样的设计思路下,每(mei)一次的运营活动只需要(yao)进行(xing)活动逻辑设计,不再需要重复进(jin)行奖品模块和任务模块的开发。
同时运用模块化的思路,每一次的(de)活动都做成模版工具,和任务模块,奖励模块做好功能接口对接,直接(jie)调用,在后续的运营过程中,活动的复(fu)用性也得到了保证。
经(jing)过这套模块化工具设计方法,活动运营的前置开发时长减少了85%,运营人员(yuan)只需要准(zhun)备好活动方案,就可以在后台进(jin)行活动的设置,奖品的设置以及任务关(guan)联。
五、模块化设计思维的好处也许你会(hui)说上(shang)面的经历仅仅是某次需求设计时的思路变化,但当真正掌握模块化设计思维方式,并应用(yong)在其他方面时,你就会发现模块化设计思维的强大(da)。
1. 输出的统(tong)一性举个例子,当有两个(ge)设计师负责同个(ge)项目,列表模块在多个页面都会(hui)出现,这时(shi)两个设计师就会(hui)设计出(chu)两个不同样式的列表在APP中出现,这样子是极其不(bu)合理的。
统一的(de)页面体验和有延续性的界面元素都将帮助用最少的学习成本达成使用目标,减轻页面跳动所造成的不(bu)适感。
2. 便于维护每当系统出现bug的时(shi)候,查找问题(ti)总会是一个大难题,错综复杂的接口代码关系(xi)总会让错误查找也变成一个难题,如上(shang)文(wen)的例子如采用第一种设计思(si)路,功能(neng)设计(ji)的高耦合度会让任务体系出现问题时,问题查找极其麻烦,无法定位问(wen)题究竟是在任务模块出现的还是在奖励模块出现的,只能全(quan)部代码所有流程(cheng)跑一次。
而当(dang)你(ni)采用模块化设计时,bug的初始就能很快定位是哪个模块出现了问题,你只需要在对应模块查找问题,将模块内(nei)的问题解决(jue)就可以了;
3. 提高效率以最近遇到的web端头部UI修改举例,前端人员根据设计师重新设计好的页面头部进行(xing)修改时发现,web端的部分页面采用的(de)是(shi)同一套js代码,修改后即可直接替换,而部分页面(mian)却是独立设计,无法进行复(fu)用,如果要进行头部修改,只能一个页面一个页面的修改,修改工(gong)作繁重。
如果在网站建立的初期,我们就采用模块化设计思(si)路,复用性高的模块抽取出来共用(yong),将(jiang)来需要修改时,也只需要修改对(dui)应模块,而不需(xu)要(yao)每个(ge)使用到的页面都进行修改。
4. 低耦合高内聚的程(cheng)序思(si)维在产品功能设计的过程(cheng)中,我们现(xian)在经常采用的是敏捷开发,快速迭代的方式(shi)。
在这个过程中,若设计思路(lu)不明确,就会在功能设计中出现功能之间交互复(fu)杂,联系过于紧密,开发的(de)时候也会(hui)因为(wei)功能设计的缺陷,而造成功能模块之间耦合性加(jia)强,即使是敏捷开发,在迭代过程中也(ye)要不断地为前面的功能进行修补,对后续的功能迭代和拓展(zhan)造成影响。
降低模块间的耦合度能(neng)减少模块间的影(ying)响,防止对某一模块修改所引起的“牵一发(fa)动(dong)全身”的水波效应,保证(zheng)系统设计顺利进行,使得模块的(de)可重用性、移植性大大增强。
六、总结从上文可以看出,采用模块化设计就像搭建积木一样,统一的接口输出规范,高效的维护成本,以及与高效程序思维一致的产品设计(ji)思路,带来的是高效率,高复用性的产品设计。