浏览:4082008-03-13 09:24   来自迷路中的路人甲      :

现在在做一个系统,系统需要与另外的服务商进行对接,使用的是WebServices 。不过这个服务商是经常更换的。也就是说接口的方法不太一样,不过功能基本都是差不多的,可能是只是写法不同。

现在的系统只能支持一个提供商,如果适应多个的话,需要在代码里面不停的重写相关的方法。 设计模式是否可以一劳永逸的解决这个问题?当服务商改变的话,不需要大范围的修改代码,只是简单修改,或者简单配置就可以实现呢???

楼主
  2个月前   Anders Cui      :
可以采用适配器模式
回复  1楼 回到顶楼 
  2个月前   狗尾草.      :
菜鸟也说说
用工厂模式
回复  2楼 回到顶楼 
  2个月前   Justin      :
算是典型的适配器模式应用
回复  3楼 回到顶楼 
  2个月前   迷路中的路人甲      :
哦。那我去看看吧。看看能不能看懂。
回复  4楼 回到顶楼 
  2个月前   伍迷      :
适配器模式:面向对象的精神就是更好地应对需求的变化,而现实中往往会有下面这些情况,想使用一个已经存在的类,而它的接口不符合要求,或者希望创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类协同工作。正如开放封闭先生您所倡导地对修改关闭,对扩展开放的原则,我可以做到让这些接口不同的类通过适配后,协同工作。[大话设计模式]

回复  5楼 回到顶楼 
  2个月前   伍迷      :
比如说:姚明刚到NBA不懂英文,但是他是去打球的,这和NBA的球员没有区别,而不是去讲英文的。因此,为他找一个翻译就行了,教练说:“attack!”,其他球员都明白了,但姚明没听懂,不过翻译会告诉他,是要他“进攻”。于是球队的沟通问题解决了。这就是适配器模式。

你的系统还是你的系统,而服务商可能来自不同地方,关键在于你们需要的服务是类似的,只是接口不同,那没关系,找个“翻译”就行了。
[大话设计模式]
回复  6楼 回到顶楼 
  2个月前   迷路中的路人甲      :
多谢各位的讲解。我先熟悉一下。设计模式真的是刚刚刚刚才接触。
回复  7楼 回到顶楼 
  3周前   c.life      :

回复  8楼 回到顶楼 

你还不是小组成员,加入小组以后才能发布新主题!
> 返回“设计模式”


其他话题

1 19187