我一直在设计一个类,让程序员清楚地知道正确的方法调用,并且在数据之前执行某些方法不会有危险,变量由其他方法设置。因此,为了安全起见,我通常使用标志和 If 语句:
class foo {
boolean isInitialised = FALSE;
boolean isSthDone = FALSE;
float importantData;
public void initialise {
...
isInitialised = TRUE;
}
public void doSth1 {
if (isInitialised) {
importantData = 2134234;
} ...
isSthDone = TRUE;
}
public void doSth2 {
if (isInitialised && isSthDone1) {
...
}
}
}
这种设计没有给出任何线索,应该如何使用算法 - 应该先执行哪个方法,有没有针对这个问题的设计模式?
最佳答案
考虑一下这些步骤的独立执行是否真的有意义。如果该类的使用者确实必须完全按照该顺序执行第 1 步、第 2 步和第 3 步,那么只需将它们折叠到一个公共(public)方法中并将这些步骤封装在您的类中即可。
另一方面,如果在消费者以何种顺序执行操作方面确实存在选项,那么您就会遇到状态转换问题,您需要了解步骤的合法顺序。
关于design-patterns - 如何确保方法以正确的顺序执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5263659/