TCP/UDP通信ファクトリ自体がある場合
public enum IoFactory {
// Singleton
INSTANCE;
public <T> Io<T> create(T type, TransportProtocol protocol) {
...
return ...;
}
}
Io
インターフェイスを作成します。
public interface Io<T> {
public void send(T msg);
public T receive();
}
ただし、withのインスタンスを作成するIo
と
IoFactory factory = IoFactory.INSTANCE;
Io<TestMessage> u = factory.create(TestMessage.class, TransportProtocol.UDP);
正しいインスタンス化が必要であるというコンパイルエラーが発生します
Io<Class<TestMessage>> u = factory.create(TestMessage.class, TransportProtocol.UDP);
どうしたんだ?