CTS-KB

SoC

えすおーしー

Separation of Concerns 関心の分離
#設計原則 #ソフトウェア工学 #アーキテクチャ

ソフトウェアを「関心(Concern)」ごとに分離して設計する原則。Edsger Dijkstra が 1974 年に提唱した。

概要

一つのモジュールが一つの関心だけを扱うように設計する。「関心」とは、ビジネスロジック、データアクセス、UI 表示、エラー処理など、ソフトウェアが解決すべき個別の課題を指す。

適用例

レイヤー関心変更理由
UI / 画面表示・入力デザイン変更
ビジネスロジック業務ルール仕様変更
データアクセス永続化DB 変更

レガシーシステムでの SoC

RPG のサービスプログラム(*SRVPGM)は SoC の実践例。受注ドメイン(ORDSRV)、在庫ドメイン(INVSRV)のように業務領域ごとにサービスを分離し、モダナイゼーション時にはそのままマイクロサービスの境界候補になる。

COBOL でも DAO パターン(データアクセスの分離)を適用することで、業務ロジックと SQL を分離できる。

関連用語