论manager层的必要性

9 篇文章 0 订阅
8 篇文章 0 订阅

当你有两个service,比方说一个叫做Aservice,一个叫做Bservice

1.此时在Aservice中你有一个方法叫做method-a,然后在Bservice中某一个方法method-b需要使用到method-a,此时你在Bservice中注入Aservice。

2.此时在Aservice中有一个方法叫做method-aa,需要使用到Bservice中的某一个方法method-bb,此时你在Aservice中注入Bservice。

然后当你运行的时候——

报错!

OK,大概的一个场景就是这么个样子。


那么如果解决呢?

①一个笨方法就是将第二条中的method-bb的方法内部所有代码,都copy到method-aa中。

但是这样做现实吗?不仅代码重复,而且还可能method-bb中还使用了其他service中的方法,那么难道还要把其他service方法中的代码也全部copy过去吗?

所以说,这是个不实用的方法。


②建立manager层:

简而言之就是再抽象出来一层叫做manager层的东西,将一些会被多个service复用的代码写到这个地方

就拿上面的例子来说:

将method-a中的代码写在Amanager中的方法名叫做manager-method-a,当Aservice中method-a需要使用的时候,注入Amanager,然后在方法method-a中调用即可。同理,Bservice中的method-b需要使用到manager-method-a中的代码,也将Amanager注入,然后调用即可。


manager层有必要吗?

当无复用的时候,没有必要,代码量小的时候,没有必要;但是在越来越复杂的系统中,有一个良好的规划,是必要的,也是发展的必然途径。所以总结来看,为了更美好的明天,还是有一定的必要性的。

当然,一切都要根据实际情况来进行选择和使用,以上。

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值