一時的状態

ビジネス・エンティティを特定の状態で存在させない場合は、状態を一時的状態として定義できます。

次の図に、一時的な「検証」状態が含まれるライフサイクルを示します。

一時的な「検証」状態が含まれるライフサイクル

この例のビジネス・エンティティは、検証されずに「保留」状態で保存されています。ある時点で、ユーザーは、検証のためにエンティティを発行し、そのエンティティを「開始」ルールに検証ロジックが含まれる一時的状態の「検証」に遷移する準備を整えます。一時的状態の「開始」アルゴリズムの役割は、エンティティが有効かエラーかを判断し、そのエンティティを適切な最終状態に遷移することです。このシナリオでは、ビジネス・エンティティを「検証」状態に存在させません。

この例のメンテナンス・オブジェクトは、セーブポイントを実行し、エンティティを最後の正常な状態に保持する必要があることも想定しています。「検証」から次の状態への遷移時にエラーが発生した場合、エンティティは「保留」にロールバックされ、そのエンティティが正常に「検証」状態に入っていても「検証」にはロールバックされません。詳細は、「自動遷移」の項を参照してください。