DDD読書中

Domain-Driven Design: Tackling Complexity in the Heart of Software

Domain-Driven Design: Tackling Complexity in the Heart of Software


Clouser of Operationsのセクションを読んだ.一般に知られているクロージャ、ブロックと同じ話かと思ったら、なんか違う話だった.ちょっと新鮮だったのでメモ.


はじめの説明として 1 + 1 = 2.「実数」と「実数」を足すと「実数」になる.
「実数」以外の概念が出てこなくて「実数」で閉じている.簡潔でいい!という話.


次は、XSLTを使ってXMLからXMLを変換(sort)する話.
XSLTXMLで記述される.XML以外の概念が出てこない.ここがいい!という話.


Value Objectの話.Value Objectクラスに、Value Objectを引数にして、Value Objectを返す操作って、ときどき書くよという話.


Exampleでは、Collectionの要素からselectする話.Java(1.4系)であれば、selectは、Collectionの要素をIteratorを使って捜査し、結果をCollectionに集めて返す.Iteratorが出てくるのは複雑。

Smalltakesなら、selectは、Collectionとブロックという概念を使って表現.ブロックという概念が出てきたけど、Smalltakeの基本要素.簡潔に書けて読みやすいからいいよ♪みたいなことが書いてあった.