なのログ

だから見てて下さい・・・俺の・・・変身

「デザインパターンなのに、エモい。」を読みました

突発読書回です。
carotene4035.booth.pm
これ↑の話をします。

ちょろっと経緯を話しておきます。

  1. QiitaのMastodonに登録した
  2. ぶつぶつしゃべってた
  3. おもろい人がいた
  4. その人が[技術書展]なるイベントで本を出すらしい
  5. その週末、マジでたまたま会場付近に居る予定

で。 そんなキッカケがあったはあったわけですけれど、
これまたマジでたまたまちょうど設計サイドの話も知りたいなあと思っていたところでした。
(プログラムの設計いうんはどういうもんなんや、というくらいの)

具体的には、この9月までの段階でデザインパターンというものへの知見はほぼゼロで、 nekogata.hatenablog.com
ツイッターでフォローしている人があげたこの資料で
「なんや、オブザーバーパターンいうんがあるんか」となっていたくらいのかんじでした。

といったところへの今回の本の題材でありまして、
めぐり合わせにありがたさを感じたくらいには内容に意味があった感じです。 「たまたま知り合った人がなんか売るからお客さんする」こと以上に。


で。 どう書いていこうかなと思ったんですが、
とりあえず今回とりあげられていたデザインパターンを挙げますね。

  1. Observer Pattern
  2. Strategy Pattern
  3. Decorator Pattern
  4. Mediator Pattern

これらに対して、いくつかの観点から順をつけてみる試みです。

デザインパターンがわかった気がする順

  1. Observer Pattern
  2. Mediator Pattern
  3. Decorator Pattern
  4. Strategy Pattern

半分おふざけとはいえそういうテーマの本だし、わかることは重要よなということで。
オブザーバーパターンは、Qiitaで見た段階からしてスッと入ってきました。データ構造に並べて呼ぶ。
メディエーターパターンもたぶん大丈夫。依存部分全部任せるやつをつくる。
デコレーターパターンが多少怪しくて(自分の経験不足のせい)、鉄の剣と機能追加が同じインターフェースなんかしら・・・?となるなど。
ストラテジーパターンは、実装を考えた時に後輩ちゃんが切り替わるタイミングだとかがあんまりよくわかっていない感じ。 比喩としてしっくりきたかどうかみたいな順番かもしれません。その言い方だったとしても同じ順になるかんじ。

話で笑った順

  1. Strategy Pattern
  2. Observer Pattern
  3. Mediator Pattern
  4. Decorator Pattern

「作文をするからには」的な「オチをつけたい気持ち」を感じた訳ですが、そんな観点。
後輩ちゃんが突如化ける件は、意外な展開という意味では間違いなくこの冊子のピークでしょう。ぶっちゃけるとその後の先輩の動向も気になりすぎるもんな。
地下アイドルの叫びは初見だったこともあり大いに笑いました。初めから「いやこのやり方はムリですわ・・・」と感じさせてくれていたのもよかったかもしれない。
一方で保健室の件とかは「気付いたらそうなっていた」(変化のタイミングでの説明が省かれていたのは意図的だったとおもうけど)だったりして、「展開を待ち受ける」的なスタンスで読んでいたら「え、お?」となるなど。直接的な描写が控えめでぼっち君のショックがやわらいだのもあるかも。
鍛冶屋はのくだりは序盤好調フェイズのボリュームが少なめでただただサクセスストーリーに見えてしまった感がありましたね。なんで鍛冶屋のオッサンの人生に厳しめの評価してんだ自分。
それぞれのエピソードで、話の割合みたいなものが違った感じ。意図的なのかどうかわかっていないものの。
あくまで自分視点でですけれど、エピソードが4つあるなとなったら、エピソードごとの展開のリズム?みたいなものはわりかし同じものを期待するっぽい。そしてそれが期待・想定に近いと言いたい概念もスッと入ってくる?(不明)
以上素人の感想。そもそものところで言えば、それぞれ別のステージでエピソードが確立されているだけでスゲーというかんじです。


「いくつかの観点」とか言ったけど2つしか挙がってないなこいつ。なんやねん。

この枠は総評ということにしますけれど、
元々のテーマであるところの「デザインパターンを知ってくれ」に関して言って、
やはり良いアイデアであり構成であるなという感想です。

「比喩で説明する」「具体例で説明する」のあいのこというか、イイトコ取りというか。
そういうものに仕上がっていると思います。
少なくとも、自分は「オブザーバーパターンだけちょっと聞いたことある」だったところから
オブザーバーパターン:絡むやつに一律通知する
ストラテジーパターン:やることの"詳細が"個別に変わるものに対して、やることを別で持って都度(?)適用する
デコレーターパターン:追加オプションみたいなやつを独立して組み合わせて盛れるようにする(内部わかってなさそうな物言い)
メディエーターパターン:仲介がいる
みたいな認識になりました。似たことをする時に思い出してググれると思います。ぐぐれたら勝ちや。(どこに?)

入門書というか、第一歩「何があんの」の話題としてかなりイメージを掴める冊子だと思います。
個人の趣味レベルでこれが生まれたなら、ううむとても価値がある。もっとたくさんのことをこのフォーマットで勉強したい。そんなかんじでした。