ぶろぐ

日記です

最近好きな実装


[呼ぶやつ] いろんな型を渡す。

[振り分けクラス] 型に合わせて処理を振り分ける

[処理メソッド] おらおらー

ふーばー

メリットとしては[呼ぶ奴]の処理を共通化できるところ。
今更にポリモーフィズムのフォースに触れてます。
呼ぶ奴はIntegerだろーがStringだろーが全部[振り分けクラス]に投げる。
振り分けクラスやってきた型を見て[処理メソッド]に投げる。
一種の動的言語的な、[呼ぶ奴]⇛[振り分けクラス]間の型の縛りは無くなる感じ。
呼ぶフローを共通化出来るんすよね(二回目w)
条件分岐が減る。
確実に呼ぶ奴内の処理での条件分岐は減る。しかも共通化出来る。
代わりに振り分けクラスが条件分岐する。
臭い部分を振り分けクラスにやらせて、呼ぶ奴は簡潔に。
これ最近好き。
やり過ぎ注意だし、どんな時に使うのか、こんな時にまで使う必要はないんじゃないか、とかちと経験が必要な気がしているので考えまくるけど…。
簡単なことをやりたいのに、逆に複雑になっちゃったりとかw
あれーミスったかなー的なw
色々試すっす。
というかよーはinstanceofにはまってるっす、気持ちいッス。
ポリモーフィズム出来るところはポリモーフィズムしまくったほうがいいのかなー
その判断力を付けたいでござる

んで

多分こういう実装パターンって有るだろうから、自分が思っていることと、その名前を一致させたい。そういうパターンの名前とか、そういうことをするメソッドの命名規約とかが有るなら是非取り入れたいっす。

追記

型によって処理を振り分ける…?
どこかで聞いた言葉だな…
オーバーロード…だと…?
メソッド名は同じ、引数の型は違う、っていうメソッドを列挙してしまえばよいではないかー