首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
提供多个http接口的设计模式
[不定项选择题]
一个系统,提供多个http协议的接口,返回的结果Y有json格式和jsonp格式。Json的格式为{"code":100,"msg":"aaa"},为了保证该协议变更之后更好的应用到多个接口,为了保证修改协议不影响到原先逻辑的代码,以下哪些设计模式是需要的?协议的变更指的是日后可能返回xml格式,或者是根据需求统一对返回的消息进行过滤。()
Aadapter
factory method
proxy
decorator
composite
查看正确选项
添加笔记
求解答(88)
邀请回答
收藏(1287)
分享
13个回答
添加回答
44
guanjian
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.
装饰者模式,是用来动态添加功能的,就是过滤
消息,比如非法字符&&&之类的,消息过长之类
发表于 2015-09-02 17:24:37
回复(3)
20
渊鸿
为了保证该协议变更之后更好的应用到多个接口 适配器模式;
为了保证修改协议不影响到原先逻辑的代码
协议的变更指的是日后可能返回xml格式
工厂模式;
或者是根据需求统一对返回的消息进行过滤 装饰模式
发表于 2015-09-02 21:26:01
回复(0)
1
蒲之未落
Aadapter:新增功能但不能修改原来代码
。
工厂模式: 为多个http协议的接口,在客户端代码中,告诉要请求的接口名称,会调用不同的类来处理,即工厂方法
装饰者模式,用来动态添加功能,即过滤
消息,比如非法字符&&&之类的,消息过长之类
发表于 2017-10-28 09:20:43
回复(0)
1
wrc
过滤信息应该是***模式吧?装饰模式强调的是添加类似的功能,***模式强调的是处理前后添加的功能,所以我觉得过滤应该是用***模式。
发表于 2017-01-29 10:02:59
回复(0)
11
晓宇大美女~
1. 使用适配器模式可以应对协议日后的变更
2. 不同类型的返回信息调用不同的类来处理,工厂方法模式
3. 消息过滤,装饰者模式。
涨知识了~
发表于 2016-06-18 20:07:57
回复(3)
3
码农改造地球
因为要对原接口的复用然后产生新的接口,不改变原来的代码,所以要用:适配器模式
因为多个http协议的接口,所以多个新协议的产生要用:工厂模式
装饰者模式是用来动态添加职责的,D不知道为毛
发表于 2015-09-01 21:53:05
回复(1)
0
七帛画
第一个选项还拼错了 多了个a...
发表于 2022-10-01 09:18:55
回复(0)
0
lilinl
为了保证协议变更之后可以更好的应用到多个接口,适配器模式;
为了保证变更协议不修改原来的代码逻辑,工厂模式;
根据需求对返回的消息进行过滤,装饰着模式;
发表于 2018-07-14 14:10:47
回复(0)
0
考拉说它累了
工厂模式 装饰模式(过滤)
发表于 2018-07-08 14:11:23
回复(0)
0
shiyan娃娃
为了保证该协议变更之后更好的应用到多个接口,adapter模式;
不同类型的返回信息调用不同的类来处理,工厂方法模式。
对消息进行过滤,decorator,装饰者模式。
发表于 2017-08-27 16:00:36
回复(0)
0
牛客265482号
为了保证该协议变更之后更好的应用到多个接口 适配器模式(A);
为了保证修改协议不影响到原先逻辑的代码
协议的变更指的是日后可能返回xml格式
工厂模式(B);
或者是根据需求统一对返回的消息进行过滤 装饰模式
(D)
发表于 2016-04-01 10:35:33
回复(0)
0
qwer23
求解 这样的知识点 是哪个课程上的
发表于 2015-09-06 00:35:55
回复(2)
0
月夜星空
设计模式了解的不多
发表于 2015-09-05 12:12:50
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
软件工程
来自:
腾讯2016研发工程师...
难度:
13条回答
1287收藏
11803浏览
热门推荐
相关试题
在开发一个系统时,如果用户对系统的...
腾讯
软件工程
评论
(9)
软件设计的主要任务是设计软件的结构...
腾讯
软件工程
评论
(6)
22个顶点的连通图中边的条数至少为()
图
评论
(11)
来自
腾讯2016研发工程师在...
下面函数的时间复杂度是
C++
C语言
评论
(37)
来自
腾讯2016研发工程师在...
数组的存储地址是?
C语言
评论
(81)
来自
腾讯2016研发工程师在...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题