skillup

技術ブログ

アーキテクト設計全般

ステートパターンについて

投稿日:2022年9月18日 更新日:

トランザクション系のデータの場合、スタータスの遷移がキーになることが多く、仕様の把握に関してこの部分の理解が重要です。

今まで、ステータスの遷移に関してはExcelを使って表現していたことが多かったのですが、ステートマシーン:StatusMachine(あるいはステートパターンと呼ぶこともあるようです。)と言うデザインパターンがあり、簡単に言いますとステータスの遷移や関わり方をUML上で表現したものになります。

10.ステートマシン

19.State パターン

利点としては以下のような点でしょうか。

  • 状態の遷移が画面上でわかる
  • Excelでは表現が難しい複数方向の遷移など立体的な情報を表現できる
  • 遷移時の条件などを追加させることができる

UML自体、仕事のための仕事のようなイメージがあり、実装が先行するような現場ではあまり使われることはなかったのですが、熟練の方が先日使われたのをみていて、これは今までのプロジェクトでもぜひあったらよかった!と思ったものでした。

UMLの中でもシーケンス図とこのステートマシーンはメリットが大きいかと思います。

-アーキテクト設計全般
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

オブジェクト指向 プレゼンテーション層

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。 本日はプレゼンテーション層、いわゆるMVCのViewにあたる部分。 Contents1 プレゼンテーション層の考え方1.1 要点1. …

no image

Facadeパターンについて(Laravelを題材に)

LaravelのFacadeについて自作する機会があったので、メモ。 デザインパターンの一種かと思います。 Contents1 サンプル2 使い所3 メリット4 デメリット5 参考リンク サンプル h …

no image

型の意識について(ValueObjectの活用など)

現在の現場でコードレビューをしてもらう機会が増え、自分が弱かった型の意識について。 現在ではPHPでも型を記述してコーディングすることが一般的なため、静的言語と同じように型を意識することが増えてきたか …

no image

値オブジェクトやファーストコレクションなどについて

以前から言葉としては知っていたけれど、オブジェクト思考の重要な概念に関して。 Contents1 値オブジェクト(Value Object)2 ファーストコレクション(コレクションオブジェクト) 値オ …

no image

スクラム開発をやってみて

アジャイルの定義に関してはエンジニアによって色々なものがあると思われますが、自分の場合一番綺麗に説明されているな・・・と感じたのは以下の記事でも紹介した書籍でした。 アジャイル開発について 現場ではた …

アーカイブ