design-patterns - 如何确保方法以正确的顺序执行?

标签 design-patterns pseudocode

我一直在设计一个类,让程序员清楚地知道正确的方法调用,并且在数据之前执行某些方法不会有危险,变量由其他方法设置。因此,为了安全起见,我通常使用标志和 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/

相关文章:

android - 通知网络变化的 Activity - Android

C++头文件和源文件设计实现

c++ - 有属性问题的对象工厂?

algorithm - 二叉树递归问题

algorithm - 使用指针和链表 : how to iterate over a linked list, 更改和比较键

java - Java 中的内部包保护访问修饰符

c# - 我怎样才能更好地设计这个? (避免使用面向对象设计的 switch 语句)

integer - 寻找 "simple"整数线性规划源代码/伪代码

python - 迭代特定范围的索引和算法伪代码-> python

c# - Vigenere Square Lookup(使用字符串数组)