我和一个朋友讨论了如何使用两个程序包实现观察者模式。
这是一个虚构的示例: 包“游戏”包含类“战场”。 包“播放器”包含“ IPlayer”(以及此接口的各种实现)。
现在,我们希望战场能够观察玩家。因此,我们创建一个接口“ IPlayerObserver”和“ IOberservablePlayer”。 IPlayer继承了IOberservablePlayer。
我们应该在哪个包中放入“ IPlayerObserver”?
// Package: Players
public interface IPlayer extends IOberservablePlayer {}
// Package: Gaming
public class Battlefield implements IPlayerObserver {}
// Which package?
public interface IPlayerObserver {
void notify(IPlayer player);
}
public interface IOberservablePlayer {
void addobserver(IPlayerObserver observer);
}
非常感谢您提供所有答案。