重学Java设计模式
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.3 设计模式的落地经验

很多东西即使摆在我们面前也看不见,就像有句话:“人生没有选择,很多选项只是摆设。”

为什么会说到这些呢?因为有些程序员是有视觉盲区或知识盲区的,主要因为程序员的工作是在承接产品需求,除此之外对业务发展、运营思路、ROI、KPI、GMV、DAU等数据是不关心或关心不到的。

如此一来就会导致一个问题,研发人员和产品经理在对接需求时,虽然在某种程度上达成了共识,但可能某些时候是存在一些目标差异的。而这个差异就是研发人员在做程序设计实现时,是否可以为业务发展和产品迭代留出相应的扩展,以及是否存在过度设计。

所以,当面对一些较简单的业务功能时,产品经理和研发人员之间并不会产生矛盾;一旦面对复杂的和快速迭代的场景需求,简单的实现可能就会变得非常麻烦,从而造成矛盾。而研发人员理解的业务经验往往也驱动着他们最终的编码实现。

使用设计模式并不像解答数学题一样有固定的公式可以套用。设计模式提供的是面对各种复杂场景中常规的解决方案,具体到实际业务中,其逻辑实现是千差万别的。所以,在学习的过程中不能生搬硬套,要活学活用。可以找一些if…else特别多的场景,尝试通过设计模式优化代码,这样能真正学会设计模式。

同时,研发人员不仅要关注自己的编码,还要多参加业务人员、产品经理、运营人员的会议,多方面了解业务需求,才能构建出更加合理的程序。