为了账号安全,请及时绑定邮箱和手机立即绑定

如何改进这段代码

如何改进这段代码

白衣染霜花 2019-04-10 20:48:41
如下伪代码,AServicedo2对P进行了操作,然后碰到的问题是PService里对P进行操作,如果调用了AServicedo2那么由于不是对P最新的引用,save时会把AServicedo2的修改覆盖掉。//Update2015年05月22日17:24:28@Ke_Wu这不应该是逻辑问题,事实上,我作为后来的调用者没必要也不可能知道AService::do2里的具体实现,但现在碰到问题了,那么就是设计的问题了classAService{functiondo2(pid){...p=P.getById(pid);p.s='zz';p.save();...}}classPService{functiondo1(pid){...p=P.getById(pid);p.s='yy';AService.do2(pid);...p.a='a';p.b='b';...p.save();//p.s仍旧是yy,zz被yy覆盖...}}classCService{functiondo4(cid){...c=C.getById(cid);pid=c.pid;AService.do2(pid);...}}
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 351 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信