gpt4 book ai didi

java - 该解决方案的不同设计模式

转载 作者:行者123 更新时间:2023-11-30 05:20:17 25 4
gpt4 key购买 nike

我有一个包含三种不同方法的界面。有两个类 Car 和 Plane 将实现 Vehicle 接口(interface)来访问这些方法。我心里有两个问题。

1。什么类型的设计模式满足以下实现?

2。有没有其他设计模式可以满足类似的功能?

尽管我尝试了一些博客和问题,但我找到了关于第二个问题的一个答案,该问题使用匿名类,但这会导致更多垃圾代码。那么我的问题有什么解决办法或答案吗?

public interface Vehicle {
int set_num_of_wheels();
int set_num_of_passengers();
boolean has_gas();
}
public class Car implements Vehicle{

@Override
public int set_num_of_wheels() {
return 0;
}

@Override
public int set_num_of_passengers() {
return 0;
}

@Override
public boolean has_gas() {
return true;
}

}

public class Plane implements Vehicle{

@Override
public int set_num_of_wheels() {
return 0;
}

@Override
public int set_num_of_passengers() {
return 0;
}

@Override
public boolean has_gas() {
return true;
}

}

最佳答案

多态性只是一种在给定函数名称下放置不同函数指针(由具体类无条件选择)的奇特方法。

因此,如果您有一个具有 methodenum-to-somefunctioninterface 的散列映射的类(方法枚举只会列出要连接的有限方法集),那么您可以通过在中查找枚举来调用多态函数 map ,然后转换到某个函数接口(interface)并调用它。

它完全违背了这种 OOP 语言的目的,但这将是一个独特的实现。

它肯定会落入行为模式,但我想它会接近策略或插件,因为它是关于委托(delegate)给体现函数的类。

顺便说一句,这正是 DynamicProxy 正在尝试做的事情;代理没有任何 impl 类的接口(interface),并委托(delegate)给一个处理程序,该处理程序找到一种响应所请求方法的方法。

关于java - 该解决方案的不同设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59697393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com