经典指数          
原因
3900
浏览数
0
收藏数
 

一个系统,提供多个http协议的接口,返回的结果Y有json格式和jsonp格式。Json的格式为{"code":100,"msg":"aaa"},为了保证该协议变更之后更好的应用到多个接口,为了保证修改协议不影响到原先逻辑的代码,以下哪些设计模式是需要的?协议的变更指的是日后可能返回xml格式,或者是根据需求统一对返回的消息进行过滤。()
  • Aadapter
  • factory method
  • proxy
  • decorator
  • composite

     举报   纠错  
 
切换
1 个答案

1.Aadapter:新增功能但不能修改原来代码,原来代码实现思路——标准接口Target定义interface,

ConcreteTarget就是当前解析json的类(实现

Target接口

);

新增功能这样实现——

Adaptee是新增功能的所属类,Adapter实现

Target接口并集成

Adaptee,这样的

Adapter就有了新的功能了,因此需要适配器模式。调用实例如下:

public static void main(String[] args) {

// 使用普通功能类

Target concreteTarget = new ConcreteTarget();

concreteTarget.request();

// 使用特殊功能类,即适配类

Target adapter = new Adapter();

adapter.request();

}

2.

工厂模式:

为多个http协议的接口,在客户端代码中,告诉要请求的接口名称,会调用不同的类来处理,显然是工厂方法

4.

装饰者模式,是用来动态添加功能的,就是过滤

消息,比如非法字符&&&之类的,消息过长之类

 
切换
撰写答案