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

可能是设计模式的问题

可能是设计模式的问题

慕勒3428872 2018-11-21 05:02:46
有A,B,C,D,E,F五个方法,它们的实现相似,仅如下所示的注释部分的代码不一样(我把这一块代码称为内部代码,而将内部代码包起来的代码称为外部代码),</P> <P>public void A(params...)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using(......}<BR>&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//xxxxxxx<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //xxxxxxx<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>}</P> <P>现在的问题是,如果外部代码出现变动,我就得改五个地方,这样很可能会改错,<BR>我的想法是把内部代码做成委托来传递进去,不知道有没有好的方法,高手指点,好像和template pattern又有点不一样
查看完整描述

2 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

外部代码提取为一个方法,此方法接受一个委托作为参数即可

查看完整回答
反对 回复 2018-11-22
?
临摹微笑

TA贡献1982条经验 获得超2个赞

好像你的外部代码也不多啊,看看这样行不: public void A(params...) { using (GetObject()) { //.xxxxx //xxxxx } } public void GetObject() { return xxx; }

查看完整回答
反对 回复 2018-11-22
  • 2 回答
  • 0 关注
  • 319 浏览

添加回答

举报

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