我正在为我的项目使用简单的策略模式。 我需要在某些枚举中添加每个具体的策略接口类以供以后使用。 为方便起见,我使用的是临时接口,应该在以后更换,而不是先实现每个具体的类来完成设计。
这是我尝试过的简单代码。
public interface Strategy{
public void execute();
}
public interface NeedToImplement extends Strategy {
}
public enum strategyInfo {
A(ConcreteStrategyA.class, "blah blah" ),
B(ConcreteStrategyB.class, "blah~~" ),
C(NeedToImplement.class, "blah~~");
}
到目前为止,如果我是唯一管理此代码并且不忘记实现每个类的人,那么代码本身就不会成为问题。 但这是团队工作,我会为我的团队成员拆分每个实现,所以,如果我们的团队成员忘记实现任何类,那么即使在运行时也会造成灾难。
我想确保在我通过异常或错误运行程序时NeedToImplement
存在时会收到通知(就像我可以从@Deprecated
收到警告)
虽然我仍然可以在没有代码编译错误的情况下进行编译。
我想到的第一个想法是为NeedToImplement
界面使用自定义注释。但实际上我不确定进一步的细节。
如果我的想法有效,请详细说明细节。
如果没有,任何比Ctrl + F更好的建议也将受到赞赏。
答案 0 :(得分:1)
你可以做的是:
答案 1 :(得分:0)
你可以在execute()方法中创建每个类的新实例,我想这将为项目中的每个动作或类似实现
您为稍后要实现的每个类创建一个空类,并在每个构造函数中为您选择发出警告