続 パッケージ指向の設計

先日書いたような、パッケージ指向を突き詰めていくと、どんどん外だしの部分が増えていくのだが、そうすると今度はお決まりの「外部パラメタの爆発的増加」を招くことは、容易に想像できる。少し前(Java2発表前後、又はJ2SE1.2〜1.3の時代あたりか)にJavaで開発したパッケージソフトでよくあるケースだが、propertiesが数千行とかざらだったりする。propertiesはエントリが重複していても、一見問題無いので数千行のうち、重複している行もたくさんあるのだろう。..そんなシステムは担当したくないよな。

「外部パラメタの爆発的増加」を防ぐためにはどうすれば良いのだろうか。まあ、こまめにシステムの再設計をしたり、外部パラメタを定期的に棚卸ししたりすることは必要だけど、既に顧客の元に配布されてしまっている分に関しては直したたくとも、直せないことが多く、更に外部パラメタをアドホックに追加していく、という悪循環に陥ったりして、根本的な解決にはならないことが多い。瑕疵期間が過ぎるまでできるだけ放置? 後ろ向き過ぎる。保守契約をして、ベースのシステムとは独立してメンテナンスしていくか? それも嫌だな。