小编Dyl*_*n P的帖子

是否可以用Java编写通用多路复用器?

我有很多使用setListener方法注册的监听器,而不是addListener.因此,为了允许多个侦听器注册到一个对象,我必须使用多路复用器.这很好,但现在我必须为我拥有的每个监听器接口创建一个多路复用器.所以我的问题是:是否可以根据以下代码的需要实现Mux.create()?

AppleListener appleListener1 = new AppleProcessorA();
AppleListener appleListener2 = new AppleProcessorB();
AppleListener appleListenerMux = Mux.create(appleListener1, appleListener2);
Apple apple = new Apple();
apple.setListener(appleListenerMux);

OrangeListener orangeListener1 = new OrangeProcessorA();
OrangeListener orangeListener2 = new OrangeProcessorB();
OrangeListener orangeListenerMux = Mux.create(orangeListener1, orangeListener2);
Orange apple = new Orange();
orange.setListener(orangeListenerMux);

class Mux {
   public static <T> T create(T... outputs) { }
}
Run Code Online (Sandbox Code Playgroud)

我想这可能是使用反射.有没有理由使用反射会是一个坏主意?(表现浮现在脑海中)

java reflection observer-pattern

5
推荐指数
1
解决办法
1574
查看次数

标签 统计

java ×1

observer-pattern ×1

reflection ×1