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

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

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

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

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

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

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

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

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

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

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

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

PHPメンターズセミナーに参加してきました

去る10月3日(土)、「PHPカンファレンス2015」に併設開催の「PHPメンターズセミナー」に参加してきました。 「PHP」関連のカンファレンスではあるのですが、メンターズセミナーの副題は「モデルを設計せよ!-ドメイン駆動設計を超えて」です。しかもツイッ…

書きやすさ重視か、読みやすさ重視か

先日現場のメンバーと、コーディングスタイルについて少々議論したのですが、その結果、プログラミング言語選択やコーディングスタイルには、 - 目下の書きやすさを重視した姿勢 と、 - 後に第三者が読むことを想定した、読みやすさを重視した姿勢 の二つが…

予測型のウォーターフォールに対して適応型のアジャイル

先日、DDD Allianceによる「DDD Alliance! 3週連続DDD 第1週」という勉強会が開催されました。私は参加しなかったのですが、参加者さまによるツイートを眺めていたら「予測型のウォーターフォール、適応型のアジャイル」という趣旨のツイートを目にしました…

「リアクティブ・バックエンドにはScala」、または、プログラミング言語はターゲットとする新プラットフォームの普及とともに普及するものだ、という話

2015年現在、関数型言語が勃興しつつあります。エンタープライズ分野で関数型言語が次世代のプログラミング言語マーケットの覇権を握ることとなるのだとしたら、いつどのように握るのか、それはどの関数型言語なのか、その動向が大いに気になるところです。 …

モデリングとドメインについて

モデルおよびモデリングとは? 「モデル」とは「対象を如何に認識しているかを形式的に描いたもの」と説明できるでしょう。このことを分解していきます。まず、「対象の認識の仕方についての方法論」があるでしょう。どうやって対象を観測するか、観測結果を…