如何把握代码复用

在开发实战中如何把握代码的复用,你们是怎么做的

代码复用无疑是代码编程中常见的技巧,但是如何把握代码的复用是个技术活,

比如现在A流程是1类->2类->3类
B流程是2类->3类->4类
现在B流程业务变了,需要修改3里面的业务逻辑,这时候你们一般怎么办?

我的做法一般是通过继承去做,但是业务每天都会更新,最后发现类太多了,你都不知道什么是什么了

阅读 2.5k
4 个回答

问题很好,

大部分人的做法,是在 3类里面加判断 if(a流程){}else if(b流程){}

其实,当业务流程变了,你的 3类,不符合需求了,你应该反思考:

  1. 3类是不是真正的公共部分
  2. 3类的封装是不是不够抽象

第一个思考:
3类的业务流程是不是又特定的业务场景,如果是的话,那就没必要公用

第二个思考:
抽象的力度是不不够,或者是3类流程的纯度还是不够

以上是个人建议,可以参考下。

你的抽象能力有待提高。。。

如果3类经常的变,就把3类变化的代码提出你,封装变化,封装到单独的类中,然后通过用组合实现具体的业务复用。多使用组合,组合是动态的,继承是静态的结构。

新手上路,请多包涵

你完全可以将3类中随时变动共的部分抽取出去,将随其封装到其它的方法中或类中,类似于策略模式处理的方法,将不同的业务逻辑封装到不同的策略中,在需要时选取

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏