我有一個層次結構。接口繼承接口
public interface IIncomingMessage : IMessage
{
String Source { get; set; }
void ProcessMessage();
}
public interface IOutgoingMessages : IMessage
{
void SendMessage();
}
我有一個使用靜態的CreateMessage方法生成郵件客戶端。
IMessage message = MessageFactory.CreateMessage("incomingA");
messageA.ProcessMessage();
但是,我可以做到這一點的唯一方法是如果我將ProcessMessage()添加到IMessage。但是,如果我這樣做,那麼我必須在IOutgoingMessage中實現這一點。
現在,當我寫這個我看到,我可以擺脫IMessage ..應該我?或者有更好的方法來做到這一點?
也許最簡單的解決這個問題的方法是兩種方法:'CreateInboundMessage'和'CreateOutboundMessage' –
只需簡單提醒一下:接口**相互擴展**。 –
我看到很多界面,但是我沒有看到它們背後的意圖。你想達到什麼目的? – zzzzBov