课堂上太多的泛型类型意味着不良的设计吗?

Nar*_*hai 5 java generics

我有一个带有三个泛型类型参数的类。我想知道这样做是否很好。我的意思是认为这是设计气味?假设某个类的泛型数量甚至更多呢?

class InnerStateMachine<ST extends Enum<?>,EV extends Enum<?>,PEV extends Enum<?>>{

}
Run Code Online (Sandbox Code Playgroud)

哪里

ST -内部状态机的状态

EV -是内部状态机的事件

PEV -是我用于状态机之间通信的父状态机的事件

更新内部状态机包含在另一个状态机中,该状态机是父级。因此,如果内部状态机想要在父级上触发某个事件,则它会使用PEV父级用来执行某种转换并更改其状态并执行某些操作的事件之一来触发。

Sto*_*lly 0

从你的描述来看,在我看来,你的 3 个通用类类型更像是你的类的属性。如果对于例如您的 ST 类类型,您想使用其中之一,则泛型是正确的

Enum StateEnum1 { idle, busy }
Run Code Online (Sandbox Code Playgroud)

有时你想使用

Enum StateEnum2 { Idle, QuiteBusy, VeryBusy }.
Run Code Online (Sandbox Code Playgroud)

但是,如果您只为 3 种泛型类类型中的每一种考虑一个 Enum,那么泛型就不合适了。