5. Java 디자인 모델 --- 위임 모드 (Delegate Pattern)
위임 모델 은 23 가지 전형 적 인 디자인 모델 에 속 하지 않 는 다.그러나 Spring 프레임 소스 코드 에 서 는 여러 차례 구현 되 었 다.의뢰 모드 에 서 는 두 대상 이 같은 요청 을 처리 하 는 데 참여 하고 요청 을 받 은 대상 은 다른 대상 에 게 의뢰 하여 처리 합 니 다.
위임 방식
프로젝트 팀 은 프로젝트 매니저 A, 프로그래머 B 와 프로그래머 C 를 포함한다.현재 갑 은 xxx 임 무 를 완성 해 야 하 는 프로젝트 가 있다.우선 갑 은 B 와 C 를 직접 찾 는 것 이 아니 라 프로젝트 매니저 A 를 직접 찾 아 이 프로젝트 에 대해 이야기 할 것 이다.프로젝트 매니저 는 이 프로젝트 를 분석 한 결과 두 사람의 합작 이 필요 하 다 는 것 을 알 게 되 었 기 때문에 A1 모듈 을 B 에 게 나 누 어 주 고 A2 모듈 을 C 에 나 누 어 주 며 B 와 C 가 합작 하여 이 프로젝트 를 완성 했다.
이 수요 에서 프로젝트 매니저 는 업 무 를 조율 하 는 역할 만 했 을 뿐 실제 업 무 는 B 와 C 에 의 해 이 루어 졌 다.이 를 통 해 위임 모델 의 주요 특징 은 다음 과 같다.
위임 모드 의 주요 특징
일 은 나 (B 와 C) 의 것 이 고, 공 은 너의 (A) 이다.프로젝트 매니저 는 어부 득 리 형 에 속한다.
위임 모드 의 기타 특징
① 위임 메커니즘, 중개 와 유사 한 기능
② 피 위탁인 의 인용 소지 (프로젝트 매니저 A 는 B 와 C 를 마음대로 부 릴 수 있 음)
③ 과정 에 관심 이 없고 결과 에 만 관심 이 있다 (대리 모델: 과정 에 관심 이 있 고 결과 에 관심 이 없다)
코드 구현
1. 갑 은 현재 프로젝트 프로젝트 A 가 있 습 니 다.
/**
* projectA
*/
public interface IDelegate {
// A
public void projectA();
}
2. 프로젝트 매니저 가 평가 한 후에 두 명의 프로그래머 B 와 C 가 완성 해 야 한다.
/**
* B
*/
public class ProgrammerB implements IDelegate{
@Override
public void projectA() {
System.out.println(" B A");
}
}
/**
* C
*/
public class ProgrammerC implements IDelegate{
@Override
public void projectA() {
System.out.println(" C B");
}
}
3. 프로젝트 매니저 의 구체 적 인 배분 과정
/**
* A( , projectA, )
*/
public class ManagerA implements IDelegate{
/**
* , ( B C)
*/
IDelegate iDelegate;
public ManagerA(IDelegate iDelegate) {
this.iDelegate = iDelegate;
}
@Override
public void projectA() {
this.iDelegate.projectA();
}
}
4. 테스트.즉, 분업 완료 후 프로젝트 의 구체 적 인 완성 상황
/**
*
*/
public class test {
public static void main(String[] args) {
//1.
//2. , B C
IDelegate exuctorB = new ProgrammerB();
IDelegate exuctorC = new ProgrammerC();
//3. B C , B C
new ManagerA(exuctorB).projectA();
new ManagerA(exuctorC).projectA();
//4.
//5. A , B C 。 : B C, A
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.