違うと考えるか、同じと考えるか??

 とあるWebサービスにアクセスするところを、去年書いたものに追加するという要件でしたが、どうも去年作ったものと違うところが結構あるなあと。
 でも、こちらからすると同じような事をしているだけなんですが、微妙に要求パラメータの名前が違ったり、Webサービス側からの応答も何故か同じようではないようです。
 
 これと、それと、何が違うのか?  って、意識して設計していますかね?
 
 なんらかのシステムという仕組みを作ろうと思うと、まず、検討しなければならないのは、そのシステムが対応する範囲に存在する多様性(パターン)ですが、その多様性の中に共通するものは一体何処にあるのか?というのを整理し最適化するのがシステム設計者の醍醐味なんだと思います。逆に言うと、そう考えないと、やってられませんよ?全てのパターンに対して別物として用意すると言うのは、かなりの無駄な仕事が発生しますが、これとこれは同じですと整理出来れば、そのパターンに対応するものを一つ用意して、ちょっとだけバリエーションに対応すればよいだけなんで、とても楽になるんです。

 でも、これと、それと、が違うとされると、ちょっと待ってよ、これとそれは殆どこの辺りが同じなんだけど何で違うの?と思えるところがあると、とても残念な気持ちになります。ま、もっと残念なのは、同じとも違うとも何も考えた形跡が無い場合なんですが。

 これと、それ、に対して違うところに着目すると、半目が生まれますが、同じところに着目すれば共有が生まれませんか?
 この感覚って、とても重要な気がします。
 歴史上の悲劇や戦争は相手が敵=自分達と違う存在、という感覚から起きてませんか?
 貴方と私はここが同じだね!これとそれはここが同じで、この辺りだけがちょっとだけ違うみたいですね、っと思える感覚がとても重要なんだと思います。
 とは言え、何でもかんでも一緒くたというのとは違います。最初のアプローチとして、まず同じところは何処と何処なのか?
 という所から始めた方がいい事が多いような気がします。