する大規模シミュレーションを行い、ラベルの悪い習java OO?
質問
の構文解析の一部のxmlファイルにてしまった状況が今まで使っていた大規模シミュレーションを行い、ラベルを特定のタグに所属し、特定のカテゴリーは、例えば、作成しました タグ インターフェースを識別するこれらのクラスを表すのに使用されるxmlのタグ、 ContainableTag を指摘しておきたい、特定のタグであることを子タグのタグです。
そしてつまずこのページ: http://xahlee.org/java-a-day/interface.html (ご覧ください、"大規模シミュレーションを行い、ラベル"セッション.).う:
その内容を一言で言問題である 作品の数理irrelevanceに されたものの翻訳であります。として表示機構 言語の可能 からのソフトウェア工学 視点、すべきではない 設計の一環として、クラス インタフェースの概念 ラベリングとコンセプトのプログラミング インタフェースは意味的に全く異なる.
そこで大規模シミュレーションを行い、ラベルは必ずしも悪い習?Javaプログラマでない他の代替?
解決
インターフェースのマーカーを主に置き換えによるアノテーションの機構をJava5以降となります。ものするために任意のメタデータです。の場合インタフェースを空け役として、クラスマーカー、そしておきたいするアノテーションを用です。
他のヒント
な注釈が提供する代替えマーカーの界面の遂行、みJava統合していなどのIde:またマーカーインターフェイスタグに関連する概念に私のプロジェクトに、できるし、階層型のブラウザのすべての会員(かこれを支える主要なIdeションも予定しております。
としてのおもちろんのこと、うまくいかないときは点と主張している場合はクラスの構文上/構造"を満たす"インターフェースとインタフェース/適用されるべき自動的にクラス("クラスを付与することも可能です[RandomAccessとしてインタ---").その逆思考と思います。
思うに、そのようなマーカーインタフェースが使用される`instanceof声明を使用inverted logicが、もし、こだわった内言語なく複数の遺産面やアノテーションは、最良の方法はそのためになくステッピングの拠点に。
また、このデッドビートの引数約の場合、空のインタフェー常用にも適用可能なアンソロジー。
アノテーションはないと考えている。タグ付けのインタフェースaのビジネスに影響を与える重要な財産の種類のタイプそのものです。例えば、いつ書き込み開始コードのみのようになります:
@interface ContainableTag{}
@ContainableTag public class Foo {}
// ... elsewhere...
/**
* Adds obj as a child element.
* @throws IllegalArgumentException if obj is not tagged with
* the ContainableTag annotation.
*/
public void addElement(Object obj){
if (!obj.getClass().isAnnotationPresent(ContainableTag.class))
throw new IllegalArgumentException("obj is not a ContainableTag");
// add the containable tag as an element
}
しかしないと思うこうより:
interface ContainableTag {}
public class Foo implements ContainableTag {}
// ... elsewhere...
public void addElement(ContainableTag ct){
// add the containable tag as an element
}
確かにタグ付けのインタフェースは、情報を提供しない挙動のそのものを提供で は することで、他の種類を推進する非行動の物件です。確かにて惜しく迷惑のバグの場合 ObjectOutputStream
た writeObject(Serializable)
方法によ writeObject(Object)
.
編集: していま な支援 こちらです。