
Eric EvansがDDD(ドメイン駆動設計)を語る
2004 年に『Domain-Driven Design(ドメイン駆動設計)』を執筆して以来、Eric Evans はドメインのモデル化と設計コンセプトの進展に大きな影響を与えてきました。今回の Floyd Marinescu とのインタビューでは、『Domain-Driven Design』における最近のいくつかの改良点やこの分野の現在の進展状況について話を伺いました。

2004 年に『Domain-Driven Design(ドメイン駆動設計)』を執筆して以来、Eric Evans はドメインのモデル化と設計コンセプトの進展に大きな影響を与えてきました。今回の Floyd Marinescu とのインタビューでは、『Domain-Driven Design』における最近のいくつかの改良点やこの分野の現在の進展状況について話を伺いました。

Alex Ruiz氏とJeff Bay氏が、Java言語を使ってドメイン特化言語を書くことがどうして可能かを説明し、構成方法のパターンも提案します。
さらなるパワーを追求し、C#には最近新機能が加わり、Javaも間もなくC#と同じ道をたどる可能性がある。機能の選択肢が拡大すればプログラマーの自由度は高まるが、これにより必ずパワーが増すのだろうか。また、真に強力であるために、言語は高い自由度と柔軟性を提供する必要があるのだろうか。
Alex Ruiz氏とJeff Bay氏が、Java言語を使ってドメイン特化言語を書くことがどうして可能かを説明し、構成方法のパターンも提案します。
Michael Feathers氏の最新の投稿をめぐり、ブログのコミュニティ上で活発な議論が行われた。Feathers氏は、オブジェクト指向プログラミング言語に組み込まれた機能を使うと、テストが容易に行うことができ、コードの復元性を簡単に高めることができると主張した。
rushはRubyの文法が使えるオブジェクト指向シェルだ。ここで言っているオブジェクト指向とは、単純に文字列を操作したり受け渡しているだけではなく、メソッドや属性を持つ本物のRubyオブジェクトが使えるという意味である。つまり以下のように、'ls -l /var'とコマンドを打つかわりに、ディレクトリオブジェクトのlsメソッドを呼ぶことができる。
Ruby 1.9での目玉機能といえばスレッド機構の変更やFiberだが、これ以外にも標準ライブラリに加えられた便利な機能がある。Object#tapについては既に紹介した通りだ。tapメソッドはメソッドコールのチェインの途中に処理を割り込ませられる便利な機能だ。
イディオムやプログラミングの決まりごとを信号として使用して、さらに理解しやすく、表現に富んだものにするのはどうか?これこそまさにReg Braithwaite氏が唱えているもので、構文やパラダイムの選択さえもインテントを通信する手段になり得ると示唆している。
ソフトウェア内の複雑性に対処する方法を探していますか? コンセプトプログラミングはあなたの頭の中とコード間に存在しているビジネスの問題概念の隙間を埋めながら、ソフトウェアがどのように作られ着想されたのかという事に新たな見解を取り込むという方法を導入している。