ASAHIネット(
[URL] )のjouwa/salonからホットコーナー(
[URL] )に転載したものから。
---
SchemeやCommon Lispのように昔からクロージャがある言語を知っている人
には、30年も40年も前からやってた話を、なんでいまごろになってやってるん
だという話。
Java 8でラムダがやっと入ったので、デザインパターンもすっきり書けるよ
うになったという連載。いま、第3回まで出ています。
Lispのmapは、クロージャ(ラムダ式)を知らない人、メソッドチェーンとい
うか、実体としてはデータストリームに作用するフィルタや変換処理のパイプ
ラインを知らない人は、目から鱗が落ちると思う。関数型言語で広く普及して
いるイディオム、書き方だと思いますが。
C++もラムダを入れますよね。無理やり感があって、どうかなと思うけど。
[URL]
ラムダ式でCommandパターンで書かれたコードをシンプルにする
〜 ラムダ式使いへの第一歩
デザインパターンを置き換えよう! Javaラムダ式によるシンプルコーディング 第1回
宮川 拓 [著] 2014/12/17 14:00
[URL]
ラムダ式でStrategyパターンで実装されたコードをシンプルにする
〜 そこから見えてくるストラテジオブジェクトの本質
デザインパターンを置き換えよう! Javaラムダ式によるシンプルコーディング 第2回
宮川 拓 [著] 2015/01/20 14:00
[URL]
Observerパターンをラムダ式で置き換える
〜 オブザーバオブジェクトはラムダ式によって簡潔に生成できる
デザインパターンを置き換えよう! Javaラムダ式によるシンプルコーディング 第3回
宮川 拓 [著] 2015/02/24 14:00
全体の目次。
[URL]
デザインパターンを置き換えよう! Javaラムダ式によるシンプルコーディング
Javaで学ぶデザインパターンは、以前も紹介しているが、結城浩の本がいいし定番。
[URL]
増補改訂版Java言語で学ぶデザインパターン入門 [大型本]
結城 浩 (著)
[URL]
増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編 [大型本]
結城 浩 (著)
これも、Java 8でラムダを使ったすっきりしたものに、さらに増補改訂され
るのかも。
関連:
[URL]
Java言語で学ぶリファクタリング入門ほか、結城浩のJava本
プログラミング言語の表現力によってデザインパターンもいろいろ、C++や
Javaのように不自由な言語だと、デザインパターンもすっきりせずにもっさり
しているということは、以前、書いた。
[URL]
エレメンタルデザインパターン、 関数型のデザインパターン、Googleはどうやってテストしているか
--- ここから ---
この面では、ぼくは、AIの研究者であり、Lisperハッカーで、いま、Google
でけっこうお偉いさんであるPeter Norvigさんのデザインパターンの話が面白
かった。
要は、JavaやC++のような不自由な言語ではなく、LispやDylan(アップル
(Apple)が作っていて、結局、Appleからはリリースされなかったプログラミン
グ言語)のような動的言語だと、もっと簡単で有益なパターン、面白いパターン
があるという話。
[URL]
Design Patterns in Dynamic Languages
--- ここまで ---
関連:
[URL]
セコメントをする