たなかこういちの開発ノート

システム開発に携わる筆者が、あれこれアウトプットするブログ

モデル駆動、DSL、自動生成、などについて整理するメモ、その1

モデル駆動の実現方式には、「内部DSL式」か「外部DSL式」かの選択と、「インタープリター式」か「コンパイラー式」かの選択があると考える。 内部DSL 「内部DSL式」では、ホストとなるプログラミング言語と同じレベルでモデル記述する。Javaだったらアノー…

参照系と更新系の非対称性について、追補

以前の記事を補足、あるいは主張を一部修正するものです。 〜・〜 サブジェクト指向とは? ある要求仕様のセットがあったとき、そこに仕様変更のライフサイクルに違いのあるサブセットが認められるならば、それらは、同一のデータ資源(=オブジェクト)に関…

「DDD座談会」に参加してきました

6月5日に開催された、かとじゅん氏(Twitter:@j5ik2o)主催の「DDD座談会」に参加してきました。 後半戦、アルコール後は、文字通りの座談会となり、大いに盛り上がりました。 #dddzk 盛り上がってきたww pic.twitter.com/Ytgj21us5G— なおぴ! (@naopi) 201…

業務プロセス全域をデザインするにおいて、境界付けられたコンテキストを如何に捉えるかという話

要約 エンタープライズ・システムでは、同じ用語でも、部門や担当が異なれば意味も異なっている、という状況は日常的です。各担当が各人のリアルとして見ている個々の"Fact"と、全ての担当の見解を統合的に説明できる“イデア”であり仮説である"Truth"には、…

「OOは静的構造を、関数型は動的振る舞いをモデル化するのに有用だという話」を補足する話、もしくはデータフロー・プログラミングの話

要約 動的振る舞いのモデル化には、単に関数型というよりも、純粋関数型の一つの適用と捉えられる「データフロー・プログラミング」としての理解が有用です。データフロー・プログラミングとは数値計算処理を関数型の概念で再構成したものです。データフロー…

OOは静的構造を、関数型は動的振る舞いをモデル化するのに有用だという話

要約 関心対象について分析し理解しようとしたら、多かれ少なかれ「要素分解していく方法」を取るでしょう。「要素分解していく方法」とは構造を捉えることに関してのアプローチです。 構造を捉えるに当たって、OOは「要素分解していく方法」をよく支援しま…

参照系と更新系の非対称性について

要約 (1) 参照系の要件はもっぱらデータ資源利用側から発せられ、更新系の要件はもっぱらデータ資源提供側から発せられる。 (2) よって、もし「フロントエンド・アプリ」と「バックエンド・サービス」とに階層分けするならば、参照系は「フロントエンド・ア…

P2P取引システムのユースケースの一般構造に関する考察

ビットコインおよびブロックチェーンは、中央の第三者機関が無くとも、相互に信認できる取引を遂行していける仕組みが構築可能な事を示しました。ビットコインやブロックチェーンに触発された「Bitcoin 2.0」などと総称される様々な後続プロジェクトが立ち上…

ウォーターフォールとアジャイルのコスト構造はジレンマ状態にあるのではないか、という話、他

ウォーターフォールかアジャイルか論は、単純にどちらかがより良いとかより悪いとかというよりも、どういう状況のときどういう方法が効果的なのか見極めて、適切に選択していこう、という段階なのだろうと思います。とはいっても、現場的に実際に見極めよう…

ドメインとデータ、サブジェクトとオブジェクト、および、事実は常に事実であり、真実は常に仮説である、という話

先日参加の「PHPメンターズセミナー」には相当に触発されました。本記事はその勢いのままに書いたエントリーとなります。 ※下記記事もご参照ください。 →《PHPメンターズセミナーに参加してきました》 〜・〜 突然ですが、下図は、視点Aから見ると対象物は四…