????д?????
??????????????????????????????????????Щ?????????????η????Щ?????????????????????????????????????Java?????????????????????????????????????
????????????????????????
ShareChannelManager.java
publicResultDO<String>shareChannel(intshareCode){
if(ShareCodeUtil.share2A(shareCode)){
//TODO???????A????????????????
}
if(ShareCodeUtil.share2B(shareCode)){
//TODO???????B????????????????
}
...????n...
}
????shareChannel???????????????????????????·???????????????????????д????????????????棬??ú????????????????????????????????????????????????????????????????????????????????????Υ????Java??????????
??????????Java??????????
????Java????????????????????ì???feel????????????????????????????????????????????????**????**&***???**??Java????????????????????????????????????????????????????·??????????????????????????????????????????????????????????????????????0??1?????????????????????????????????????????????????????????????????????????б?????????????
?????????Java??????????????????????
????-?????????????
????-????????????
?????????????????????????????????????????
?????·???????????????????????á?????????????????????????????????????
?????????????????
publicclassShareChannelChain{
privatefinalLoggerLOG=LoggerFactory.getLogger(this.getClass());
/**
*??????????
*/
privateList<ShareChannel>shareChannels;
publicResultDO<String>share(intshareCode){
for(ShareChannels:shareChannels){
ResultDO<String>r=s.share(shareCode);
}
}
???????????????????
????publicinterfaceShareChannel{
????publicResultDO<String>share(intshareCod);
????}
????A????????
publicclassAChannelimplementsShareChannel{
@Override
publicResultDO<String>share(intshareCode){
//TODO????A???????
}
}
????B????????
publicclassBChannelimplementsShareChannel{
@Override
publicResultDO<String>share(intshareCode){
//TODO????B???????
}
}
??????AChannel??BChannel??????????????ShareChannelChain??
<beanid="AChannel"class="com.test.AChannel">
</bean>
<beanid="BChannel"class="com.test.BChannel">
</bean>
<beanid="shareChannelChain"class="com.test.ShareChannelChain">
<propertyname="shareChannels">
<list>
<reflocal="AChannel"/>
<reflocal="BChannel"/>
</list>
</property>
</bean>
??????????????????
????ShareChannelManager.java
????publicResultDO<String>shareChannel(intshareCode){
????ShareChannelChain.share(shareCode);
????}
????????????£?????????????????????
???????????μ????????????????CChannel???????????????????β?????ShareChannelManager??????????????????????CChannel?????ShareChannel???share?????????????xml???ɡ???????????????????????????????????????