C \ # 디자인 모드 (13) - 프 록 시 모드 (프 록 시 패턴)
5022 단어 디자인 모드ProxyPattern나 랑 같이 C 배 워.#
소프트웨어 개발 과정 에서 일부 대상 은 네트워크 나 다른 장애 로 인해 이런 대상 을 직접 방문 하지 못 하거나 직접 방문 하지 못 할 때 가 있다. 만약 에 직접 방문 대상 이 시스템 에 불필요 한 복잡성 을 가 져 오 면 클 라 이언 트 와 목표 대상 사이 에 중간 층 을 추가 하여 대리 대상 이 목표 대상 을 대체 하도록 할 수 있다.그 다음 에 클 라 이언 트 는 대리 대상 을 방문 하고 대리 대상 이 우 리 를 도와 목표 대상 을 요청 하고 결 과 를 클 라 이언 트 에 게 되 돌려 주어 야 한다. 이런 해결 방향 은 바로 오늘 소개 할 대리 모델 이다.
2. 대리 모델 에 대한 상세 한 소개
대리 모드 는 사용 목적 에 따라 다음 과 같은 몇 가지 로 나 눌 수 있다.
위의 모든 종류의 프 록 시 모드 에서 가상 프 록 시, 원 격 프 록 시, 스마트 참조 프 록 시 와 보호 프 록 시 에서 흔히 볼 수 있 는 프 록 시 모드 입 니 다.다음은 프 록 시 모델 의 구체 적 인 정 의 를 구체 적 으로 살 펴 보 자.
2.1 정의
프 록 시 모드 - 한 대상 에 게 프 록 시 를 제공 하고 프 록 시 대상 이 원래 대상 에 대한 인용 을 제어 하 는 것 입 니 다.일부 상황 에서 한 고객 이 한 대상 을 직접 인용 하고 싶 지 않 거나 인용 할 수 없 으 며 대리 대상 은 클 라 이언 트 와 목표 대상 사이 에서 중개 역할 을 할 수 있다.예 를 들 어 컴퓨터 데스크 톱 의 단축 키 는 프 록 시 대상 이 고 단축 키 는 인 용 된 프로그램의 에이전트 입 니 다.
2.2 프 록 시 모드 구현
대리 모델 에 대한 설명 을 본 후에 다음 과 같은 생활 속 의 예 를 들 어 대리 모델 을 설명 한다. 현실 생활 에서 만약 에 동료 가 출국 하거나 친구 가 출국 하 는 상황 에서 우 리 는 이 친구 에 게 전자 제품 이나 화장품 등 을 가 져 다 달라 고 부탁 하 는 경우 가 많다. 이 장면 에서 출국 하 는 친 구 는 바로 대리 이다. 그 (그녀) 는 그 (그녀) 이다.친구 의 한 대리인 은 그의 친구 가 외국 에 가서 물건 을 살 수 없 기 때문에 그 는 할 수 있 기 때문에 친구 들 이 모두 그 에 게 물건 을 좀 가 져 다 달라 고 부탁 했다.다음은 이 장면 으로 대리 모델 을 실현 하고 구체 적 인 코드 는 다음 과 같다.
//
class Client
{
static void Main(string[] args)
{
//
Person proxy = new Friend();
proxy.BuyProduct();
Console.Read();
}
}
//
public abstract class Person
{
public abstract void BuyProduct();
}
//
public class RealBuyPerson : Person
{
public override void BuyProduct()
{
Console.WriteLine(" IPhone ");
}
}
//
public class Friend:Person
{
//
RealBuyPerson realSubject;
public override void BuyProduct()
{
Console.WriteLine(" ");
if (realSubject == null)
{
realSubject = new RealBuyPerson();
}
this.PreBuyProduct();
//
realSubject.BuyProduct();
this.PostBuyProduct();
}
//
public void PreBuyProduct()
{
// ,
Console.WriteLine(" , , : , : Iphone...........");
}
// ,
public void PostBuyProduct()
{
Console.WriteLine(" , , ;Iphone ..........");
}
}
위의 코드 에 상응하는 주석 이 있 는데, 여기에 도 설명 이 많 지 않다.
2.3 프 록 시 모드 의 도표 구조
대리 모델 의 실현 을 본 후에 다음은 위의 예 로 대리 모델 의 도표 구 조 를 분석 하 겠 습 니 다.구체 적 인 유 도 는 다음 과 같다.
위의 도표 에서 대리 모델 과 관련 된 역할 은 세 가지 가 있다.
추상 적 인 주제 역할 (Person): 실제 주제 와 대리 주제 의 공공 인 터 페 이 스 를 설명 합 니 다. 그러면 실제 주 제 를 사용 하 는 모든 곳 에서 대리 주 제 를 사용 할 수 있 습 니 다.
프 록 시 테마 캐릭터 (Friend): 프 록 시 테마 캐릭터 내부 에 실제 주제 에 대한 인용 이 포함 되 어 있어 실제 주제 대상 을 조작 할 수 있 습 니 다.프 록 시 테마 역할 은 필요 할 때 실제 테마 대상 을 만 드 는 것 을 책임 집 니 다.프 록 시 역할 은 클 라 이언 트 를 실제 주제 로 호출 하기 전이 나 그 후에 다른 작업 을 수행 해 야 합 니 다. 단순히 실제 주제 대상 에 게 호출 하 는 것 이 아 닙 니 다.예 를 들 어 이곳 의 PreBuy Product 과 PostBuy Product 방법 은 대리 주제 역할 이 수행 하 는 다른 조작 이다.
실제 주제 캐릭터 (RealBuyPerson): 대리 캐릭터 가 대표 하 는 진짜 대상 을 정의 했다.
첨부: 실제 개발 과정 에서 저 희 는 클 라 이언 트 가 서비스 인용 을 추가 할 때 클 라 이언 트 프로그램 에 추가 적 인 종 류 를 추가 합 니 다. 클 라 이언 트 가 생 성 한 종 류 는 대리 주제 역할 을 합 니 다. 저희 클 라 이언 트 도 이러한 대리 역할 을 직접 호출 하여 원 격 서비스 가 제공 하 는 작업 을 방문 합 니 다.이것 은 원 격 에이전트 의 전형 적 인 예 이다.
3. 대리 모델 의 장단 점
대리 모델 을 전면적으로 분석 한 후에 이 모델 의 장단 점 을 살 펴 보 자.
장점:
단점:
총화
여기까지 프 록 시 모드 에 대한 소개 가 끝 났 습 니 다. 프 록 시 모드 는 대상 에 대한 접근 대 리 를 제공 합 니 다.그리고 여기까지 구조 형 모델 에 대한 소개 도 끝났다. 구조 형 모델 은 어댑터 모델, 브리지 모델, 장식 자 모델, 조합 모델, 외관 모델, 향 원 모델 과 대리 모델 을 포함한다. 다음은 행위 형 모델 의 첫 번 째 모델 인 템 플 릿 방식 모델 을 소개 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.