求一设计模式 - V2EX
首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
问与答
求一设计模式
gongweixin
2014-11-11 15:33:20 +08:00
3039 次点击
这是一个创建于 3992 天前的主题,其中的信息可能已经有所发展或是发生改变。
语言环境:java
情景:
方法A(), 方法B()的方法体内,前后有大量相同的代码,只有中间有个别一两行代码不同,因为java不支持方法作为参数,所以比较恶心,现在写成switch,case ,类似方法个数越来越多,看着switch,case越来越恶心,有没有比较优雅的写法?
Switch
个数
代码
3 条回复
2014-11-11 22:30:00 +08:00
1
finian
2014-11-11 18:25:50 +08:00
1
不能传方法你就传个对象进去啊
https://gist.github.com/anonymous/66599b123cf8fbe8f131
2
chone
2014-11-11 21:10:50 +08:00 via iPhone
1
相同的逻辑封装在基类里,然后实现不同的子类A和B来完成差异的逻辑。如果非要传函数那就定义一个接口申明回调方法,然后匿名类实现接口方法作为参数传给其他类,java下边的监听器就是这种实现。
3
gongweixin
OP
2014-11-11 22:30:00 +08:00
@
chone
@
finian
感谢两位提供的建议.
关于
帮助文档
自助推广系统
博客
API
FAQ
Solana
2920 人在线
最高记录 6679
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 28ms
UTC 13:29
PVG 21:29
LAX 06:29
JFK 09:29
Do have faith in what you're doing.
ubao
msn
snddm
index
pchome
yahoo
rakuten
mypaper
meadowduck
bidyahoo
youbao
zxmzxm
asda
bnvcg
cvbfg
dfscv
mmhjk
xxddc
yybgb
zznbn
ccubao
uaitu
acv
GXCV
ET
GDG
YH
FG
BCVB
FJFH
CBRE
CBC
GDG
ET54
WRWR
RWER
WREW
WRWER
RWER
SDG
EW
SF
DSFSF
fbbs
ubao
fhd
dfg
ewr
dg
df
ewwr
ewwr
et
ruyut
utut
dfg
fgd
gdfgt
etg
dfgt
dfgd
ert4
gd
fgg
wr
235
wer3
we
vsdf
sdf
gdf
ert
xcv
sdf
rwer
hfd
dfg
cvb
rwf
afb
dfh
jgh
bmn
lgh
rty
gfds
cxv
xcv
xcs
vdas
fdf
fgd
cv
sdf
tert
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
sdf
shasha9178
shasha9178
shasha9178
shasha9178
shasha9178
liflif2
liflif2
liflif2
liflif2
liflif2
liblib3
liblib3
liblib3
liblib3
liblib3
zhazha444
zhazha444
zhazha444
zhazha444
zhazha444
dende5
dende
denden
denden2
denden21
fenfen9
fenf619
fen619
fenfe9
fe619
sdf
sdf
sdf
sdf
sdf
zhazh90
zhazh0
zhaa50
zha90
zh590
zho
zhoz
zhozh
zhozho
zhozho2
lislis
lls95
lili95
lils5
liss9
sdf0ty987
sdft876
sdft9876
sdf09876
sd0t9876
sdf0ty98
sdf0976
sdf0ty986
sdf0ty96
sdf0t76
sdf0876
df0ty98
sf0t876
sd0ty76
sdy76
sdf76
sdf0t76
sdf0ty9
sdf0ty98
sdf0ty987
sdf0ty98
sdf6676
sdf876
sd876
sd876
sdf6
sdf6
sdf9876
sdf0t
sdf06
sdf0ty9776
sdf0ty9776
sdf0ty76
sdf8876
sdf0t
sd6
sdf06
s688876
sd688
sdf86