계층 구조가 있습니다.인터페이스 상속 인터페이스
public interface IIncomingMessage : IMessage
{
String Source { get; set; }
void ProcessMessage();
}
public interface IOutgoingMessages : IMessage
{
void SendMessage();
}
메시지를 생성하기 위해 정적 CreateMessage 메서드를 사용하는 클라이언트가 있습니다.
IMessage message = MessageFactory.CreateMessage("incomingA");
messageA.ProcessMessage();
IMessage에 ProcessMessage()를 추가하면 내가 할 수있는 유일한 방법입니다. 그러나이 경우 IOutgoingMessage에서 구현해야합니다.
지금이 글을 쓰면서 IMessage를 제거 할 수 있다는 것을 알았습니다. 아니면 이것을하는 더 좋은 방법이 있습니까?
을
중 하나를 사용 VAR
('MessageFactory.CreateMessage ("incomingA")을'가정 형 IIncomingMessage의 객체를 반환) 또는 캐스트 이것을 해결하는 방법은 두 가지입니다 :'CreateInboundMessage'와'CreateOutboundMessage' –
인터페이스는 ** 서로 ** 확장됩니다. –
나는 많은 인터페이스를보고 있지만, 내가 보지 못하는 것은 그것들의 의도이다. 무엇을 성취하려고합니까? – zzzzBov