エージェントモードの簡単な例を書いて、見終わったら必ずこのモードを理解すると信じています.

985 ワード

概念などが整っていないので、直接例を挙げます.
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();
	}
}


小さな例では、このパターンをより深く理解するのに役立つことを望んでいます.基本エージェントモデルを理解すると、多くのクラスがエージェントを必要としている場合、クラスごとにエージェントを書くのではないかと考えられます.そうすれば、精力を浪費するのではなく、コードの肥大化をもたらし、動的エージェントの概念が生まれます.