エージェントモードの簡単な例を書いて、見終わったら必ずこのモードを理解すると信じています.
985 ワード
概念などが整っていないので、直接例を挙げます.
4つのクラス:Aクラス:実装されるクラスXクラス:実装AインタフェースのクラスYクラス:エージェントXクラスのクラスTestクラス:テストクラス
1.インタフェースクラスA(ターゲットクラス)`
2.XクラスはAインタフェースを実現した
3.Yクラス(エージェントクラス)エージェントXクラスpublic class Y implements A{
4.Testテストクラス
小さな例では、このパターンをより深く理解するのに役立つことを望んでいます.基本エージェントモデルを理解すると、多くのクラスがエージェントを必要としている場合、クラスごとにエージェントを書くのではないかと考えられます.そうすれば、精力を浪費するのではなく、コードの肥大化をもたらし、動的エージェントの概念が生まれます.
4つのクラス:Aクラス:実装されるクラスXクラス:実装AインタフェースのクラスYクラス:エージェントXクラスのクラスTestクラス:テストクラス
1.インタフェースクラスA(ターゲットクラス)`
public interface A {
public void say();
}
2.XクラスはAインタフェースを実現した
public class X implements A{
public void say() {
System.out.println("X A ");
}
}
3.Yクラス(エージェントクラス)エージェントXクラスpublic class Y implements A{
private X x;
public Y(X x) {
this.x = x;
}
// X
public void say() {
//** , **
System.out.println(" , X say() ");
x.say();
System.out.println(" ");
}
}
4.Testテストクラス
public class Test {
public static void main(String[] args) {
X x = new X();
Y y = new Y(x);
y.say();
}
}
小さな例では、このパターンをより深く理解するのに役立つことを望んでいます.基本エージェントモデルを理解すると、多くのクラスがエージェントを必要としている場合、クラスごとにエージェントを書くのではないかと考えられます.そうすれば、精力を浪費するのではなく、コードの肥大化をもたらし、動的エージェントの概念が生まれます.