디자인 모드 의 프 록 시 모드 의 정적 프 록 시 (코드 구현)

1564 단어 디자인 모드
UserService 인터페이스
public interface UserService {
    //    ,         
    void addUser(); //        {}, body(  )
    //    ,         
    void editUser();
}

UserService 인 터 페 이 스 를 실현 하 는 실체 클래스
public class UserServiceImpl implements UserService {
    @Override
    public void addUser() {
        System.out.println("      ");
    }

    @Override
    public void editUser() {
        System.out.println("       ");
    }
}

에이전트 클래스
public class UserServiceProxy implements UserService{
    private UserService realSubject;
    @Override
    public void addUser() {
        System.out.println("   UserServiceProxy addUser        ...");
        realSubject.addUser();
        System.out.println("   UserServiceProxy addUser        ...");

    }

    @Override
    public void editUser() {
        System.out.println("   UserServiceProxy editUser        ...");
        realSubject.editUser();
        System.out.println("   UserServiceProxy editUser        ...");
    }

    public UserServiceProxy() {
    }

    public UserServiceProxy(UserService realSubject) {
        this.realSubject = realSubject;
    }
}

테스트 클래스
public class TestStaticProxy {

    @Test
    public void test(){
        UserService resultSubject = new UserServiceImpl();
        UserService proxy = new UserServiceProxy(resultSubject);
        proxy.addUser();
        proxy.editUser();
    }
}

 필기, 부족 한 점 이 많 으 니 지적 해 주세요.

좋은 웹페이지 즐겨찾기