java 정적 에이전트 동적 에이전트 깊이 학습
public interface CountDao
{
//
public void queryCount();
}
public class CountDaoImpl implements CountDao
{
public void queryCount()
{
System.out.println(" ...");
}
}
public class CountTrancProxy implements CountDao
{
private CountDao countDao;
public CountProxy(CountDao countDao)
{
this.countDao = countDao;
}
@Override
public void queryCount()
{
System.out.println("tranc start");
countDao.queryCount();
System.out.println("tranc end");
}
}
public class TestCount
{
public static void main(String[] args)
{
CountTrancProxy countProxy = new CountTrancProxy(new CountDaoImpl());
countProxy.updateCount();
}
}
tranc start 계정 보기 방법...trancend 3, 여러 개의 정적 에이전트가 위 코드를 바탕으로 추가되었습니다
public class CountLogProxy implements CountDao
{
private CountDao countDao;
public CountLogProxy(CountDao countDao)
{
this.countDao = countDao;
}
@Override
public void queryCount()
{
System.out.println("Log start");
countDao.queryCount();
System.out.println("Log end");
}
}
호출 코드가 됩니다
// ,
public static void main(String[] args)
{
CountTrancProxy trancProxy = new CountTrancProxy(new CountDaoImpl());
CountLogProxy logPro = new CountLogProxy(trancProxy);
logPro.queryCount();
}
Log start 트랜잭션 처리 전에 계정 조회 방법...사무 처리 후Log end 4. 요약은 프록시 클래스로 인터페이스를 계승하거나 실현하는 두 가지 방식으로 프록시 효과에 도달할 수 있지만 여러 프록시 클래스가 서로 조합되어야 할 때 계승이 유연하지 않고 프록시 클래스를 계속 다시 작성해야 하기 때문에 인터페이스를 실현하는 방식은 쉽게 집합을 통해 프록시 클래스 간의 조합을 실현할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.