可能是设计模式的问题

有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又有点不一样

慕勒3428872
浏览 320回答 2
2回答

冉冉说

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

临摹微笑

好像你的外部代码也不多啊,看看这样行不: public void A(params...) { using (GetObject()) { //.xxxxx //xxxxx } } public void GetObject() { return xxx; }
打开App,查看更多内容
随时随地看视频慕课网APP