所以我有 2 个接口(interface)(如下所示),1 个用于常规/免费套件,另一个用于可购买套件。它们都包含 2 个方法,但在可购买套件的“getIcon”方法中,我需要玩家的个人资料作为参数,以便我可以检查他们是否购买了该套件。
用于链接这两个接口(interface)的最佳设计模式是什么?你能告诉我执行此操作的代码吗?
2个接口(interface):
public interface Kits {
void giveKit(Player player);
Item getIcon();
}
public interface PurchasableKits {
void giveKit(Player player);
Item getIcon(Profile profile);
}
我尝试使用适配器模式,但它似乎不正确,因为“getIcon”方法将配置文件作为参数,但它没有被使用。
public class KitAdapter implements PurchasableKits {
private Kits kits;
public KitAdapter(Kits kits) {
this.kits = kits;
}
@Override
public void givetKit(Player player){
kits.giveKit(player);
}
@Override
public void getIcon(Profile profile){
kits.getIcon();
}
}
提前致谢
最佳答案
您有 1 个接口(interface) PurchasableKits
。免费的 Kit 将实现该接口(interface)并调用 getIcon(null)。
危险信号是这两个接口(interface)几乎完全相同。没有任何设计模式能让您摆脱所造成的情况。
关于Java - 选择设计模式 - 2 个具有相同方法的接口(interface),除了一个有一个额外的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44059213/