blog.fuktommy.com

イテレータ, デコレータ, ストラテジー, ファクトリメソッド の4つのデザインパターンを使って設計されたライブラリがあるのだけど、 これ読もうとする人はだいたい混乱するなあ。 どのクラスが何を...

イテレータ, デコレータ, ストラテジー, ファクトリメソッド
の4つのデザインパターンを使って設計されたライブラリがあるのだけど、
これ読もうとする人はだいたい混乱するなあ。

どのクラスが何を担当するかがわかれば読めるはずなんだが。
例えばイテレータはバッファリングの隠蔽をしているだけ、みたいな。
これを言葉で説明しようとすると、複数のレイヤの話をごっちゃに説明しがちで、
より混乱を招くような気がする。

たぶん人間が普通に理解できるのは
複数のレイヤの話をごっちゃに説明したものであって、
抽象化はコードを単純にはするけど、説明を単純にはしない。
とはいえコードを単純化する必要はあるわけで、
その辺は限られた数のデザインパターンを学ぶことで、
学習コストを抑えるという意味があるのかと思ったりする。
Copyright© 1998-2014 Fuktommy. All Rights Reserved.
webmaster@fuktommy.com (Legal Notices)