閉じた操作 と オートポイエーシス
DDDでは、操作の結果として、その引数と同じ型のオブジェクトを返すような操作を《閉じた操作》と呼んでいる。数学の考え方に近く、よけいな概念をなるべく取り除くように設計する方法の1つになっている。
1 + 1 = 2
《閉じた操作》の観点から上の数式を見直すと、実数と実数を足し合わせると実数ができる、実数以外の概念が出てきていないことがポイントになる。DDDの8章に出てくるシェアパイにも似た特徴がある
シェアパイ A+ シェアパイB = シェアパイC
《閉じた操作》の周辺には、《値オブジェクト》、《副作用のない関数》、《概念の輪郭》が隣接しており、これらを合わせると、《閉じた操作》を使用する魅力が増すことになる。
《閉じた操作》が、何かに似ているなと思っていたら、思い出した。ルーマンのオートポイエーシスだ。
コミュニケーションがコミュニケーションを産出し続ける閉じたシステム系。
閉じた操作の無限呼び出しに似ている。
違いもある。ソフトウェアシステムでは、操作の無限呼び出しは、バグとして扱われる。一方、オートポイエーシスの観点であれば、継続的に動作しつづけるためのキーとなる。
エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)
- 作者: エリック・エヴァンス,今関剛,和智右桂,牧野祐子
- 出版社/メーカー: 翔泳社
- 発売日: 2011/04/09
- メディア: 大型本
- 購入: 19人 クリック: 1,360回
- この商品を含むブログ (131件) を見る