【发布时间】:2018-07-20 21:05:00
【问题描述】:
我有一个类需要根据事件名称添加其他属性。可以有许多事件名称。如何更好地设计这个类,以便它支持未来的轻松增强和维护。
public class MessageDecoratorServiceImpl implements MessageaDecorator {
@Override
public BaseMessage addMessageProperties(BaseMessage inputMessage ){
return decorateMessage(inputMessage);
}
BaseMessage decorateMessage(BaseMessage inputMessage) {
if(inputMessage.getEventName().equals("NewSubscription")) {
decorateSubscription(inputMessage);
}else if( inputMessage.getEventName().equals("NewContact") ) {
decorateNewContact(inputMessage);
}
}
BaseMessage decorateSubscription(BaseMessage inputMessage) {
inputMessage.getProperties().put("customFiled", "customValue");
return inputMessage;
}
BaseMessage decorateNewContact(BaseMessage inputMessage) {
inputMessage.getProperties().put("contactCustomFiled", "value");
return inputMessage;
}
}
【问题讨论】:
标签: java design-patterns delegation