君は心理学者なのか?

大学時代に心理学を専攻しなぜかプログラマになった、サイコ(心理学)プログラマかろてんの雑記。

デザインパターン

本当にオブジェクト指向を使う必要があるのか?

タイトルについて すみません、煽りました。 いきさつ オブジェクト指向で設計した時と、 オブジェクト指向を使わなかった時について、 「単純にコード量だけで」比較してみます。 その上で、オブジェクト指向の利点について再度考えてみます。 つくるもの 1…

DDDのリポジトリについてちょっとしらべた

いきさつ 昔書いていたアプリケーションがあまりにあまりなので、 (モデルの責務がいたるところに染み出している) DDD使って書き換えられないか検討するために勉強を始めた(1日目) Repositoryからやっていきます Repositoryについて エンティティの永続…

地下アイドル「私、ぜったい売れっ子アイドルになるんだから!」で学ぶデザインパターン(Observer)〜アイドルとオタクを疎結合にしてみた〜

ある日の地下アイドル 地ア「は〜あ。今日もライブは3人しかこなかったなぁ」 地ア「きょう来てくれたのは、たっくんと、しのぶんと、ゆっきーか」 地ア「この3人、いつも来てくれるんだよねぇ。大事にしなくちゃ」 地ア「私、ぜったいに売れっ子アイドル…

劇的ビフォ◯アフターで学ぶデザインパターン〜facade pattern〜

カレーを作るクラスを考える 玉ねぎきって、 じゃがいもをむいて切って、 カレールーをとかす。 そんな料理を実現するクラス群を作って考えてみます。 before まずはfacade patternを使わずに書いてみます。 ソースコード class Onion { cut() { console.log…

早とちりプログラマの失敗から学ぶデザインパターン(Factory Method:適用後)

このシリーズについて このシリーズは 後先のことをなにも考えずに実装してしまう『早とちりプログラマ』 と すぐに仕様変更を加える『後出し上司』 のという魅力的な2人から、 デザインパターンの有用さを学んでいこうという素敵な企画です。 (早とちりプ…

早とちりプログラマの失敗から学ぶデザインパターン(Factory Method:適用前)

このシリーズについて このシリーズは 後先のことをなにも考えずに実装してしまう『早とちりプログラマ』 と すぐに仕様変更を加える『後出し上司』 のという魅力的な2人から、 デザインパターンの有用さを学んでいこうという素敵な企画です。 (早とちりプ…

劇的ビフォ◯アフターで学ぶデザインパターン(strategy編:after)

前回のソースコードをstrategyパターンを使用して書き換えていく 前回のソースコードから、戦略に関する部分についてクラスで切り出します。 戦略クラス(特定戦略時の振る舞いを持ったクラス)を作成 # ガンガン行こうぜのとき class StrategyGangan def se…

劇的ビフォ◯アフターで学ぶデザインパターン(strategy編:before)

このシリーズについて このシリーズでは、 デザインパターンを使う場合 デザインパターンを使わなかった場合 について、 「仕様変更があった時、既存コードの書き換えがどれくらい発生するか?」 という観点で比較し、デザインパターンのメリットをより感じ…

劇的ビフォ◯アフターで学ぶデザインパターン(state編:after)

前回のソースコードをstateパターンを使用して書き換えていく 前回のソースコードを見てみると、 状態と、その状態の時の振る舞いが描かれていることがわかります。 図の例なら、「HAPPY」「HAPPY時の振る舞い(hello, goodbye)」です。 これを状態クラスと…

劇的ビフォ◯アフターで学ぶデザインパターン(state編:before)

デザインパターンのメリットについて今一度確認したい 業務で使ったり使わなかったりするデザインパターンですが、 なかなかメリットについてつきつめて考えたことがない。 「なんとなくソースコードがきれいになった気がする。。。」で頭がとまってしまって…