디자인 모델 의 중개자 모델 을 백화 로 설명 하 다.

글 목록
  • 중개 자 모델 을 어떻게 이해 합 니까
  • 밤 을 들 어 보 는 모드
  • 캐릭터 구성
  • 성분 분석
  • 중개 자 모델 을 어떻게 디자인 합 니까
  • 어떻게 중개자 모델 을 이해 합 니까?
    어떻게 디자인 모델 을 이해 하 는 지 먼저 그의 응용 장면 을 이해 하고 그의 사용 가치 와 사용 원인 을 얻어 야 한다.우 리 는 가장 이해 하기 쉬 운 일상 사무 에서 중개자 모델 의 밤 을 들 고 중개자 모델 을 이해 하 는 것 을 비교 해 보 자. 중개자 가 무엇 인지, 왜 중개자 가 필요 한 지 를 포함한다.
    밤 을 들 어 패턴 을 보다.
    eg: 밤 을 들 어 라. 우리 가 이사 할 때 물건 이 많아 서 봉 투 를 들 고 물건 을 다 담 을 수 있 는 것 이 아니 라 차 를 찾 아야 한다.그럼 우 린 어 떡 하지?예전 에 이 사 를 할 때 동네 입구 에 갔 고 길목 에서 차 를 찾 아서 남 의 차 크기 가 자신의 물건 을 실 을 수 있 는 지 확인 하고 남 에 게 도와 주 고 싶 은 지 물 어 봐 야 했다. 이 사 는 매우 번 거 로 웠 다.그 후에 화물 라 라 는 이 상업 기 회 를 보 았 습 니 다. 화물 라 라 는 이 사 를 도와 주 고 싶 은 차 와 운전 자 를 찾 는 일 을 맡 았 습 니 다. 그리고 차 의 크기, 운전 자의 서비스 품질 등 정 보 를 통 계 했 습 니 다. 그래서 누군가가 이 사 를 해 야 할 때 직접 화물 라 라 를 찾 으 면 됩 니 다. 화물 라 라 에 게 얼마나 큰 차 가 필요 한 지 알려 주 고 시간 이 필요 하면 됩 니 다. 화물 라 라 라 는 운전 자 와 차 에 연락 하 는 일 을 맡 겼 습 니 다.쌍방 이 모두 좋게 하 는 것 이 어찌 아름 답지 않 겠 는가?
    이 를 통 해 알 수 있 듯 이 이 삿 짐 센터 (중개자) 는 이 삿 짐 센터 와 이 삿 짐 센터 운전 자 간 의 유대 로 이 삿 짐 센터 와 이 삿 짐 센터 운전 자 간 의 통신 을 맡 고 있 으 며, 이 삿 짐 센터 라 는 중개자가 있어 이 삿 짐 센터 와 이 삿 짐 센터 운전 자 모두 자신의 목적 을 쉽게 달성 할 수 있다.이것 이 바로 중개자 의 예 다.
    그렇다면 중개자 로 서 어떤 자질 과 능력 이 필요 한 지 생각해 보 자.먼저 화물 라 라 (중개자) 는 통신 연락 자로 서 이 삿 짐 센터 와 이 삿 짐 센터 운전 자의 연락 처 를 알 아야 한다. 그 다음 에 이 삿 짐 센터 를 도와 일 을 해 야 한다. 예 를 들 어 이 삿 짐 센터 가 있 기 전에 크기 가 적당 한 차 를 찾 아야 한다. 지금 은 화물 라 라 가 있 으 면 화물 라 라 라 는 차 의 크기 를 이 삿 짐 센터 에 알려 주 고 이 삿 짐 센터 가 이 삿 짐 센터 의 수 요 를 실현 하도록 도와 야 한다.또한 화물 라 라 가 있 기 때문에 우리 의 이사 자 는 화물 라 라 에 게 연락 해서 우 리 를 도와 야 한다. 기 사 는 화물 라 라 가 자신 을 찾 을 수 있 지만 동시에 자신 도 화물 라 라 를 찾 을 수 있다. 예 를 들 어 기사 가 화물 을 끌 려 고 하지만 지금 은 살 지 않 았 다. 그 는 화물 라 라 에 게 자신의 수 요 를 자발적으로 알려 줄 수 있 고 우리 이사 자 는 화물 라 라 의 존 재 를 알 아야 한다.
    캐릭터 구성
    종합 적 으로 고려 하면 우 리 는 중개자 모델 의 구성 을 다음 과 같은 몇 가지 부분 으로 나 눌 수 있다.
  • 중개자 (화물 인도)
  • 중개인 의 통신 연락 이 필요 한 다 자간 실체 (이사 자 · 이사 차 운전 자)
  • 성분 분석
    중 개 는 여러 개의 실 체 를 연결 해 야 한다. 그 는 모든 실 체 를 알 아야 연락 할 수 있다. 그래서 그의 디자인 은 모든 실체의 사례 를 포함 하여 그 속성 으로 해 야 한다. 그 는 실 체 를 해서 일 을 해 야 하기 때문에 그 는 임 무 를 수행 하 는 방법 이 필요 하 다.
    한편, 우리 의 다방면 실체 도 중개자 의 실례 를 포함해 야 중 개 를 찾 을 수 있 기 때문에 중 개 는 다방면 실체의 속성 으로서 자신 이 해 야 할 일 을 정의 하고 중개자 가 우 리 를 대신 해서 완성 하도록 해 야 한다.
    어떻게 중개자 모델 을 설계 합 니까?
    실체 와 중개자 의 성분 을 알 게 된 후에 우 리 는 다음 에 중개자 모델 의 디자인 을 생각한다. 먼저 추상 적 인 중개 자 를 정의 한다. 서로 다른 기능 에 따라 서로 다른 중개 로 나 눌 수 있 기 때문이다.。
    public abstract class AbstractMediator {
         protected BanJiaEntity banjia;//   
         protected CarEntity car;// 
         //    
         public AbstractMediator(){
                 banjia = new BanJiaEntity(this);
                 car = new CarEntity(this);
         }  
         //               ,           
         public abstract void execute(String str,Object...objects);
    }
    

    추상 적 인 중개 가 생 긴 후에 우 리 는 화물 라 라 에 게 추상 적 인 중 개 를 계승 하 게 했다.
    public class Mediator extends AbstractMediator {
         //         
         public void execute(String str,Object...objects){
                 //      
                 if ("banjia".equals(str)) {
                     doBanjia(objects);
                 } 
                 //     
                 if ("sijiNeedOrder".equals(str)) {
                     doGiveOrder(objects);
                 }
         }
    
         private void doBanjia(Object...objects) {
             banjia.isOk();
             car.isOk();
             //  ,  ,   ...
         }
         private void doGiveOrder(Object...objects) {
             //    ,    ...
             banjia.isOk();
             car.isOk();
         }
    }
    

    그 다음 에 실 체 를 정의 해 야 한다. 우 리 는 여러 개의 실체 가 있 는데 그들 은 모두 중개인 을 속성 으로 해 야 한다. 그러면 먼저 추상 적 으로 해 보 자.
    public abstract class AbstractEntity {
         protected AbstractMediator mediator;
         public AbstractEntity(AbstractMediator mediator){
                 this.mediator = mediator;
         }
    }
    

    이사 자 와 이 삿 짐 센터 기 사 는 구체 적 인 실체 로 삼 는 다.
    public BanJiaEntity extends AbstractEntity {
        public BanJiaEntity(AbstractMediator mediator){
            super(mediator);
        }
        public void banjia(String str,Object...objects) {
            super.mediator.execute(str, objects)
        }
        public void isOk(){}
    }
    
    public CarEntity extends AbstractEntity {
        public CarEntity(AbstractMediator mediator){
            super(mediator);
        }
        public void needOrder(String str,Object...objects) {
            super.mediator.execute(str, objects)
        }
        public void isOk(){}
    }
    

    이렇게 해서 중개자 모델 을 실현 했다.

    좋은 웹페이지 즐겨찾기