对于一个项目,我想提供一个类似于工作流的通用接口,比如
public interface IWorkflow
{
public void start();
public void doWork();
public void end();
}
为此,我有很多实现,比如
public class CoffeeWorkflow implements IWorkflow
{
public void start()
{
// setup coffee
// prepare dishes
// ...
}
public void doWork()
{
// drink coffee
}
public void end()
{
// wash dishes
}
}
现在我想为这些功能提供更多信息,比如
public interface IWorkflowStartArgs
{}
特别是:
public class CoffeeWorkflowStartArgs implements IWorkflowArgs
将其放入方法中
public interface IWorkflow
{
public void start(IWorkflowStartArgs args);
public void doWork();
public void end();
}
分别:
public class CoffeeWorkflow implements IWorkflow
{
public void start(CoffeeWorkflowStartArgs args)
{
}
}
但这不起作用,因为它不被识别为接口的实现。
我应该传入一个 IWorkflowStartArgs 并将其投射到里面吗?
有没有更好的解决方案?