在项目开发的时候有时候难免会遇到这样的情况,一直没找到比较好的办法解决。希望这方面有经验的高手们指点下。
问题就是。比如给A客户开发一个项目里面有短信发送功能。同时给B客户开发一个项目也具有短息发送功能。这里问题来了,问题是两个客户所申请的短信接口不一样。我现在给A客户做项目的时候写好了一个短信发送类,而且在表现层里面已经用到了这个类里面的方法来发送短信,现在B客户项目来了由于接口不一样,我就得重新编写一个类来实现,这可能会导致我表现层用到的地方全部重新修改。现在希望开发一个短信发送模块。这个模块能够适用多短信接口切换。如给a 客户开发时就通过反射 来创建A 客户申请的短信接口实例。同理给B客户开发是就 配置B 客户短信接口实例。开始考虑过写接口来做。但是由于未来的这些接口的不确定性。也无法确定该如何编写接口。而且 各个短信接口方法可能不一样,有多有少。就算方法个数一样名称也一样,也有可能方法的参数不一样。面对这样的问题。请问各位高手是否有好的解决方案。
打个比方:
需求是这样的 我现在有两个短信接口。第一个 里面有A B C 三个方法调用 第二个短信接口里面有 也有A B 两个方法但是B方法的参数不一样, 这里没有C 方法,但是 多了一个D 方法。
我现在要开发一个短信发送功能 。 假设我现在使用的是第二个接口。我在程序里面使用到了 A B D 这三个方法。。程序完工了,一切运行正常。好现在老板说由于第二个短信接口费用太贵,我们要改成使用第一种接口。而第一个接口里面又没有 D 方法 ,但是程序里面又使用到了D方法。而且B方法参数不一样。 因对这种方法我们应该如何处理比较好
简单一点说 就是 现在 已经写好了一个短信接口并在项目中已经使用了。现在要换另外有一个短信发送发送接口。他的接口和项目中已经使用了的这个接口不一样。。。可能接下来还会遇到 另外的第三方短信接口。。。。现在要将这些接口整合到项目里面去。而又不要去修改原来写好的方法。 就这么一个问题
把发送短信的模块抽象出来,别和BLL混到一起,短信模块相对于你的业务系统来说是个基础设施。
把参数类型化,以 Message 定义,发送短信的策略类型化:SendPolicy(比如每天一次,每隔几分钟一次。)
这位高人 能具体点么
@yzy: 你得把需求说明白了,才能根据你的场景具体的细化。
你要表达什么意思了,我们好像没有听明白咯
你把电信、移动、联通的发生接收都抽象出来并实现,然后用抽象工厂,你想咋搞咋搞
菜鸟建议:好好看看《大话设计模式》这本书。,。。。