2015-12-05 2 views
0
public interface IsendMessage { 
public void send(messageContext context); 
} 

Над интерфейсом для отправки сообщения. это может быть электронная почта, SMS, JMS. здесь параметр метода принимает messageContext.Как изменить следующий интерфейс для приема параметров для разных типов систем обмена сообщениями. любой шаблон дизайна?

Как я могу сделать этот общий для приема параметров для всех типов сообщений. как у нас есть, от, пароль, атташе, свойства сервера smtp

Но SMS имеет разные свойства. так как я могу сделать этот интерфейс общим, чтобы это было. EmailSender и SmsSender могут реализовать этот интерфейс IsendMessage для отправки сообщений.

Любой шаблон дизайна может использоваться здесь?

ответ

0

я не знаю, если это имеет имя, но я бы с чем-то вроде этого:

public interface IsendMessage<T extends MessageContext> { 
    public void send(T context); 
} 

public interface MessageContext { 

}; 

public class SMSMessageContext implements MessageContext{} 

public class SMSSender implements IsendMessage<SMSMessageContext>{ 

    @Override 
    public void send(SMSMessageContext context) { 

    } 

} 

где ваш IsendMessage использует общий тип MessageContext. Таким образом, реализация IsendMessage имеет доступ к конкретному типу MessageContext и всем его методам. В MessageContext в зависимости от его конкретного типа вы можете поместить все, что вам нужно, чтобы отправить сообщение, например: для сообщений электронной почты: в, из, темы, для смс: смс текст, номер телефона

+0

leonz - что входит внутрь messageContext, например, свойства электронной почты - в, из – vishwas

Смежные вопросы