SSブログ

annotation(設定情報の保持方式に関する論評) [annotation]

設定情報の保持方式に関する論評です。

annotation反対派のご意見です。非難されていますが、建設的な代替案に関しても提示されているのではと考えます。
http://www.softwarereality.com/programming/annotations.jsp

設定情報をXMLからannotationに移行することにより、コードと設定情報の関連は変更されます。具合的には、コードとXMLの関係のmany-oneの関係から、コードとannotationの関係のone-oneの関係に変更されることとなります。また同時に、weakly-typedからstrong-typedな設定に変更されることになります。ここで筆者は、strong-typedな設定であると同時に、コードとXMLの間のmany-oneの関係を保つより良い方法があるのではとご提案されています。

ここでご提案されている方法は、XML-like の構造を Java のコードで実現する方法です。これにより、コードと設定のmany-oneの関係の利点を保ちながら、ビジネスオブジェクトから設定情報を分離する利点を得られます。

具体的な方式に関しては言及されていませんが、方式が持つべき構成要素に関して述べています。

  • XMLの構造は、XML Schema と同様の semantics を持つ何かにより定義されるでしょう。
  • そして、ディフォルト値を保持するネストされた static なクラスで実装されるでしょう。
  • ネストされたstaticなクラスはタイプセーフを実現します。
  • また、特定の実装によりオーバライドされ、introspection が可能となります。
  • そして、設定はJavaの中で閉じられます。

ネストされたstaticなクラスのsemanticsを拡張することを探究することは、XMLの設定の役割をannotationが提供するより、より厳密な方法で提供できると言及されています。

私もこの案は賛成です。ただし、中央集権的に扱うべき情報に対する実現案としては賛成です。しかしながら、中央集権的に扱うべき情報だけでなく、個々に扱うべき情報が存在するかと考えます。アノテーションのメリットを生かせる場面がないわけではないかと思います。

類似した考え方として、SpringのDependency Injection を設定ファイルではなく、上記同様Java のコードで実現しようとしたアプローチをご紹介されています。興味があるかたはご覧ください。

Examining the Validity of Inversion of Control
http://www.theserverside.com/articles/content/IOCandEJB/article.html


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。