簡體   English   中英

我如何更改以下界面以接受不同類型的郵件系統的參數。 任何設計模式?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM