投稿しました
StateパターンとStrategyパターンを勉強しました [Java] on @Qiita https://t.co/4Z5C1nrzBC
— 進藤京介 (@shindokyosuke) 2017年12月31日
内容としては薄いかもしれないが、俺は今年もっとも衝撃を受けたのがデザインパターンだったので、このテーマで投稿しました。
というわけでデザインパターンについてちょっと書いて投稿してみた。
今日は朝から逃げ恥が放送されていて、実は初めて見たのだがすげー面白くてハマって見てた。金持ちになった電車男が恋をしているみたいな物語なんですが、主人公がエンジニアという仕事をしているわけです。
職場は景色も良くて、椅子もしっかりしていて一人一台パソコンがあって、飲み物コーナーまであるし、くつろぐ場所や飯を食う場所まであった。すげー!
と、このドラマ見てて俺はQiitaのことをすっかり忘れていた。
だが約束はしっかり守る男、進藤京介は、無事に年内に第四弾を投稿できた。
今回はデザインパターンについて触れたのだが、俺はこのデザインパターンと出会ったのは古本屋だ。そうブックオフだ。
あれはブックオフで立ち読みしていた時のことだ。まぁとある本を見つけたわけです。
「リファクタリング―プログラムの体質改善テクニック (Object Technology Series)」
(リンクは新版で俺が買ったのは旧版だった)
リファクタリングという聞きなれない言葉だった。コードは綺麗な方がいいのはわかっている。でもそれは必要にコメントを入れたりインデントで整えることだと思っていた。
立ち読みしてみるとなかなか面白そうじゃね?ということで軽い気持ちで購入した。
ちなみに俺が買ったのは旧版だったということは後で知った。
家に帰って読んでみると面白い。とにかくすごかった。同じ機能でもコードが全然違うじゃねえか!という魔法のような技を目撃し、デザインパターンという言葉を知った。
そっから俺はデザインパターンの本を買い漁って読みまくった。
もちろんよくわからねえパターンもいっぱいあったが、とにかく魔法のようなことが目の前で起きている状態だった。
俺が特に感動したのがブリッジパターンだった。最初はよくわからなかったけど、いろんなサンプルコードを見たり、解説を読み直したりして、ちょっとずつ理解していった。
で、今回記事にしたStateパターンとStrategyパターンは、全く違いがわからなかった。
なんで同じことしてて違うパターンなんだ?と思っていた。
だが、ふんわりと違いを確認できたので、思い切って記事にしてしまった。
オブジェクト指向とは継承だと思っていたが、カプセル化が一番重要なんじゃないか?と最近は思うようになった。
奥が深い。学ぶことが多い。
俺はしばらくプログラミングにどっぷり漬かっていたい気分だぜ
というわけでこれが今年最後の記事になります。
くだらない記事が多かったと思いますが、読んでくださった読者の方々、本当にありがとうございました。
来年も宜しくお願い致します。