skillup

技術ブログ

アーキテクト設計全般

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

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

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

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

10.ステートマシン

19.State パターン

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

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

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

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

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

執筆者:


comment

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

関連記事

no image

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

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

no image

アプリケーションアーキテクチャについて 〜既存のMVCに関して〜

今回はアプリケーションのルーター以降のアーキテクチャに関して。主にMVCなどについて説明したいと思います。 Contents1 MVC(Model,Controller,View)1.1 トランザクシ …

no image

アプリケーション間のデータの連携方法に関して

以前やった「現場で役立つシステム設計の原則」を再読してます。 今、読んでいるのはアプリ間のデータ連携に関して。 複数のアプリ間でデータをやり取りする場合、以下のような方法が考えられます。 ファイルを直 …

no image

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

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

no image

抽象性と可読性のトレードオフに関して

私自身プログラムを書く場合、とにかくコードを書く量を制限したいという思いが強く、多少でも共通化できる箇所がある場合はなるべく共通化するようにしておりましたが、時と場合によっては過剰に共通化したことによ …

アーカイブ