Android 디자인 모델 시리즈 의 공장 방법 모델

공장 방법 모델 은 흔히 디자인 모델 초보 자가 입문 하 는 모델 로 가장 전형 적 이 고 시사 효과 가 있 는 모델 이 라 고 불 린 다.
안 드 로 이 드 에서 공장 류 를 너무 많이 사 용 했 는데 그 중에서 공장 방법 모델 이 있 습 니 다.물론 많은 공장 들 이 공장 방법 모델 을 사용 하 는 것 이 아니 라 도구 관리 류 일 뿐 입 니 다.
오늘 ThreadFactory 를 예 로 들 어 간단 한 공장 모델 과 공장 방법 모델 을 설명 합 니 다.
공장 방법 모델,Factory Method,간단 한 방식,간단 하지 않 은 응용.
1.의도
대상 을 만 드 는 데 사용 할 인 터 페 이 스 를 정의 하여 하위 클래스 가 어떤 종 류 를 예화 할 지 결정 합 니 다.공장 방식 모델 은 한 종류의 실례 화 를 하위 클래스 로 지연 시 켰 다.
인기 단어:허구 작성 기 지연 생 성 대상 하위 클래스
2.구성 도와 코드
우 리 는 먼저 표준 공장 방법 구조 도 를 살 펴 보 자.

먼저 추상 적 인 제품 류,추상 적 인 공장 류 를 사용 한 다음 에 클 라 이언 트 의 구체 적 인 공장 으로 해당 하 는 구체 적 인 제품 을 생산 하지만 클 라 이언 트 는 구체 적 인 제품 이 어떻게 생산 되 는 지 모 르 고 생산 과정 을 공장 에 밀봉 했다.그래서 어느 정도 에 공장 방법 모델 은 우리 가 new 로 대상 을 만 드 는 방식 을 바 꾸 었 고 좋 은 시작 이 며 의미 가 크다.
ThreadFactory 를 예 로 들 면:

이 그림 은 원래 의 구조 도와 미세한 차이 가 있다.그것 이 바로 파라미터 화 된 공장 이 고 업무 적 의미 에서 도 다소 다 르 지만 사상 은 같다.
구체 적 인 코드 를 살 펴 보 겠 습 니 다.

//     
public interface Runnable { 
public abstract void run(); 
} 
//     
public interface ThreadFactory { 
Thread newThread(Runnable r); 
} 
다음은 구체 적 인 실현 이다.
예 를 들 어 AsyncTask 류 에서 공장 의 구체 적 인 실현 은 다음 과 같다.

//      
private static final ThreadFactory sThreadFactory = new ThreadFactory() { 
private final AtomicInteger mCount = new AtomicInteger(1); 

public Thread newThread(Runnable r) { 
return new Thread(r, "AsyncTask #" + mCount.getAndIncrement()); 
} 
}; 
//         ? 
//    Runnable r,                   
//  ,             ,         ,       
이 를 보면 우 리 는 한편 으로 는 그의 생산 편의 에 대해 섹시 한 한숨 을 쉬 고,한편 으로 는 특정한 제품 을 만 들 지 않 았 을 때 공장 을 만 드 는 것 이 번 거 로 웠 다.그래서 우 리 는 간단 한 공장 을 소개 한다.그의 구조 도 는 다음 과 같다.

간단 한 공장 은 추상 적 인 공장 을 없 애고 특정한 제품 을 전문 적 으로 생산 하면 된다.특정 하고 무책임 한 분야 에 서 는 이 모델 을 적용 하기에 매우 실 용적 이 고 편리 하 다.
android 의 Connection 클래스 에서 이 클래스 를 사 용 했 습 니 다:

그 중에서 Connection 이라는 추상 류 는 추상 적 인 제품 류 일 뿐만 아니 라 구체 적 인 공장 류 이기 도 한다.
이런 상황 에서 우 리 는 바로 서브 클래스 를 생산 해 야 하기 때문에 getConnection 방법 은 정적 이기 때문에 간단 한 공장 을 정적 공장 방법 이 라 고도 부른다.
코드 를 보 겠 습 니 다.다음 과 같 습 니 다.

abstract class Connection{ 
static Connection getConnection( 
Context context, HttpHost host, HttpHost proxy, 
RequestFeeder requestFeeder) { 
if (host.getSchemeName().equals("http")) { 
return new HttpConnection(context, host, requestFeeder); 
} 
// Otherwise, default to https 
return new HttpsConnection(context, host, proxy, requestFeeder); 
} 
}
이것 이 바로 간단 한 공장 입 니 다.아주 간단 한 매개 변수 화학 공장 입 니 다.정말 간단 합 니 다.
3.효과
1.생 성 모드;
2.파라미터 화학 공장 방법 모델 은 해당 하 는 대상 을 얻는다.
3.하위 클래스 에 연결 고 리 를 제공 합 니 다.
4.평행 을 연결 하 는 클래스 차원.
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 안 드 로 이 드 디자인 모델 시리즈 의 공장 방법 모델 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기