[英]How can i change following interface to accept parameters for different types of messaging system. any design pattern ?
public interface IsendMessage {
public void send(messageContext context);
}
上面的界面用於發送消息。 它可以是電子郵件,短信,JMS。 這里的方法參數接受messageContext。
我如何才能使該泛型接受所有類型的消息的參數。 像電子郵件一樣,我們必須從,密碼,附件,SMTP服務器屬性
但是SMS具有不同的屬性。 所以我怎樣才能使該接口通用。 EmailSender和SmsSender可以實現此IsendMessage接口來發送消息。
在這里可以使用任何設計模式嗎?
我不知道這是否有名字,但是我會這樣:
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中,根據其具體類型,您可以放置發送消息所需的任何內容,例如:對於電子郵件:到,從,主題,對於短信:短信,電話號碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.