misc.log

日常茶飯事とお仕事と

  • クライアントアプリの設定情報をXMLにしよう
  • XMLのタグに相当したクラスプロパティでアクセス可能にしよう

という話を聞いたので、半日かけて作った。で、さらに聞いてみると「XMLファイルのタグは、設定によってはどんどん深くなったり、浅くなったりする」だそうで。そうすると、せっかくプロパティ形式でアクセスできるように、クラスや構造体を組み合わせて作ったクラス群は全部無駄。柔軟性と利便性の向上は同時には無理。柔軟性を重視するなら、クラスプロパティなんかじゃなく、直接XPathを指定して設定情報に到達できるようにすべき。XMLファイルの構造がある程度固定なのであれば、クラスのプロパティを手繰って指定するだけで値を取れるように出来るが、それでも、設定ファイルの構造が開発中に変わるのでれば、設定ファイルの変更のたびに、設定ファイルアクセス用クラスを改造する必要がある。んな馬鹿なことやってられない。
というわけで、XPath指定すればそこの文字列を取ってくる簡単なクラスで事足りる。せっかく作ったが、全部無駄。残念!
ファクトリーメソッド化してやれば、という案もあったが、一日でテストまでは無理!