성숙한 워크플로 엔진을 사용할 계획이 없다면 다음과 같이 생각해볼 수 있을 것 같습니다. 프로세스 노드를 상태에서 분리하려면 프로세스 테이블을 만들고 주요 프로세스 단계를 레코드로 정의하면 됩니다. 프로세스의 상위 및 하위 단계를 포함합니다. 한 단계, 상태, 다음 단계. 이 표를 사용하여 이 워크플로의 흐름을 식별하세요. 이는 확장성도 향상됩니다.
질문자가 확장하기 어렵다고 말한 것은 상태가 너무 많고 상태 간의 전환이 네트워크와 유사하여 상태를 수정하는 코드가 전체 프로그램에 확산되므로 직접적인 결과가 발생한다는 의미입니다. 상태 간 전환 사이의 관계를 명확히 하고 상태의 논리를 수정하면 프로그램 전체에 변화가 발생하여 위험이 높아집니다. 그래서 상태 간 전환이 매우 복잡하다면 상태 머신을 통해 해결할 수 있을 것 같습니다. 상태 간의 전환 관계는 구성을 통해 해결할 수 있고, 상태 간의 전환 관계는 상태 머신 모델에 통합될 수 있습니다. . 자세한 내용은 이전에 추상화한 상태 머신 모델인 상태 머신을 참조하세요.
bpm을 사용하여 해결하세요
성숙한 워크플로 엔진을 사용할 계획이 없다면 다음과 같이 생각해볼 수 있을 것 같습니다. 프로세스 노드를 상태에서 분리하려면 프로세스 테이블을 만들고 주요 프로세스 단계를 레코드로 정의하면 됩니다. 프로세스의 상위 및 하위 단계를 포함합니다. 한 단계, 상태, 다음 단계. 이 표를 사용하여 이 워크플로의 흐름을 식별하세요. 이는 확장성도 향상됩니다.
질문자가 확장하기 어렵다고 말한 것은 상태가 너무 많고 상태 간의 전환이 네트워크와 유사하여 상태를 수정하는 코드가 전체 프로그램에 확산되므로 직접적인 결과가 발생한다는 의미입니다. 상태 간 전환 사이의 관계를 명확히 하고 상태의 논리를 수정하면 프로그램 전체에 변화가 발생하여 위험이 높아집니다.
그래서 상태 간 전환이 매우 복잡하다면 상태 머신을 통해 해결할 수 있을 것 같습니다. 상태 간의 전환 관계는 구성을 통해 해결할 수 있고, 상태 간의 전환 관계는 상태 머신 모델에 통합될 수 있습니다. .
자세한 내용은 이전에 추상화한 상태 머신 모델인 상태 머신을 참조하세요.