工作中业务和功能逻辑分离

版权声明:开源交流,可以不进行特殊介绍,但请尊重个人劳动成果,互相交流哦! https://blog.csdn.net/wanglizheng825034277/article/details/67055853

今天工作中有一个需求是给具体的客户赠送现金券,一次赠送6个月,每个月赠送的金额相同,赠送接口在项目中已经存在,重点在于业务逻辑的code。

具体的客户指代满足一定条件的客户,然后赠送现金券,而赠送接口需要大量的参数,所以拼接参数就归属到业务逻辑,而非功能逻辑。

原先设计方法:

在业务方法A中,先找到满足条件的客户,然后调用一个可以说是业务方法B,在业务方法B中进行拼接参数(循环次数写死,多次调用赠送接口);不适用每个月单独赠送不固定金额的现金券,需要修改方法A,B等大量代码。

优化后设计方法:

将业务方法B优化,仅仅负责业务方法A满足一定条件赠送现金券后传递参数到方法B中,方法B负责拼接传递过来的参数并调用赠送接口,不负责原来的赠送几次,仅仅负责赠送。(一个方法只做一个功能)

在晨会时经过讨论改成优化后的设计方法,让一个方法仅仅只做一件事情(设计模式:单一职责);业务逻辑和功能逻辑分开。

原先设计方法中在方法B中进行多次拼接参数并多次调用赠送接口,是将一部分业务和功能揉合在一起,不符合单一职责原则;优化后,方法B仅仅接收参数,封装参数并调用赠送接口即可,至于调用赠送接口几次完全由业务方法A来进行控制;

优化后方法可以适应每个月不固定金额值,只需要修改方法A中的业务调用即可。


封装可以提高代码复用,但是要和具体的业务结合起来(尽量职责分离)!

时间:2017-03-27

地点:杭州市

猜你喜欢

转载自blog.csdn.net/wanglizheng825034277/article/details/67055853