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.평행 을 연결 하 는 클래스 차원.
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 안 드 로 이 드 디자인 모델 시리즈 의 공장 방법 모델 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.