【GoF】デザインパターン5
■ このスレッドは過去ログ倉庫に格納されています
0855デフォルトの名無しさん
2005/09/19(月) 10:18:04DIコンテナとFactoryは大袈裟さが違う。
・前提 : ソースコードを単純に保つ事は、可能性のうちの一つでしかない特定の
拡張より優先する。
AとBを処理するメソッドがあったとして
public search(target) {
if (target = A) { //処理 } elseif (target = B) {//処理}
}
ふむ、targetの増加に対する修正と、target毎の処理に対する修正が混在してる
ね。では、抽出しよう。処理を共通化できるか?多分、否だろうね。では、処理の
方を抽出しよう。
private void Aproc() {//処理}
private void Bproc() {//処理}
これで修正に対する混在は回避できた。テストも問題なく通るだろうね。なにせ
殆ど変えてないんだからw ここで一旦終了。また会う日まで('A`)/~
これでいいわけだよ。ここでFactoryを書くんじゃない!と、ましてやDIコンテナ?
頭おかしいんじゃねぇの?無駄に複雑化するな。その時が来たら書け。そして
*今は*その時じゃない。
■ このスレッドは過去ログ倉庫に格納されています