あああ

今日は朝から雨。楽しみにしていたメジャーリーグも雨で順延らしい。やることがないというか、やらなければいけないので(意味不明)、雨が上がった昼から大学へ。
部屋を出ようとすると隣の人が引っ越しをしていた。この時期に引っ越しとは珍しい。どうしてだろ。
今日はビジネスロジックで使用する各項目についての実装をする。今回は以下のようにいろいろ理想は高いのでなかなか前に進まない。

  1. DBはドライバを変更するだけで対応できる
  2. データ項目に対する変更の柔軟性を確保
  3. 将来的にはWebアプリとかにも対応できるように などなど

ということを考えると、いろんな機能を追加しないといけないと考えてしまう。
とくにデータ項目が問題。始めはデータ項目をXMLで記述してそのXMLを読み込んで動かしたり、データベーススキーマを生成しようとか考えた。とくに悩んだのが、XML自体への記述の制限の問題。例えば、品目コードは生産システムには絶対必要だけど、その項目は絶対記述されていなければならない。そんなことどうやって制限しよう?チェックはどうしよう?で、案はいろいろ考えた。

  1. デフォルトの桁を持っておいて、もしXMLで再定義されていればそれを使う
  2. 必要なXMLスキーマのスケルトンを出力できるようにし、その内容を埋めるだけでいいようにする。

これって、どちらも同時に実現可能。でもこれだけで結構な工数になりそう。で、あとからこれらを実装できるような形で作ろうと思った。しかし、こういう先を見越した実装って、XPのできるだけシンプルにしなければいけないという原則に違反している。というかどうせまた変更になるだろうから、とりあえずという形である程度妥協して実装することにした。