디자인 모델 - 공장 모델 상세 설명 (비 추상 공장 모델)
1561 단어 디자인 모드
첫 번 째: 일반 공장 모델 은 하나의 공장 류 를 구축 하고 같은 인 터 페 이 스 를 실현 한 일부 유형 에 대해 인 스 턴 스 를 구축 하 는 것 이다.
우 리 는 작은 예 를 보 자.
먼저 우 리 는 인터페이스 클래스 를 쓰 고 그 안에 쓰 는 방법 을 정의 합 니 다.
public interface Writer {
public void write();
}
그리고 우 리 는 실현 류 를 살 펴 보 자.
public class GangBi implements Writer {
@Override
public void write() {
// to do something
}
}
4. 567913. 그리고 공장 류 를 만 듭 니 다.
테스트 종류:
4. 567913. 위 는 간단 한 공장 모델 이다. 위 에 설명 한 바 와 같이 입력 한 문자열 이 틀 리 면 흔 한 대상 을 정확하게 볼 수 없고 이런 방법 도 우호 적 이지 않 기 때문에 이런 공장 모델 은 추천 하지 않 는 다.
두 번 째,
다 공장 모델: 공장 방법 을 개선 하고 여러 공장 방법 을 제공 하여 각각 대상 을 만 드 는 것 이다.
WriteFactory 수정 은 다음 과 같 습 니 다.
테스트 종류:
4. 567913. 이런 방법 은 위 에서 말 한 문 제 를 피 했다.
세 번 째,
정적 공장 모드: 공장 클래스 의 방법 을 수정 하고 모든 방법 을 정적 으로 바 꿉 니 다. 그러면 공장 방법 을 호출 할 때 인 스 턴 스 를 만 들 지 않 아 도 됩 니 다.
테스트 종류:
public class MaoBi implements Writer {
@Override
public void write() {
// to do something
}
}
전체적으로 보면 공장 모델 은 적당 하 다. 대량의 제품 이 만들어 야 하고 공 통 된 인터페이스 가 있 을 때 공장 모델 방법 을 통 해 만 들 수 있다.상기 세 가지 모델 에서 첫 번 째 는 문자열 이 잘못 지면 인 스 턴 스 생 성 이 성공 하지 못 할 수 있 습 니 다. 세 번 째 는 두 번 째 에 비해 공장 방법 인 스 턴 스 를 만 들 지 마 십시오. 따라서 대부분 상황 에서 세 번 째 정적 공장 모델 을 사용 하 는 것 을 추천 합 니 다.
public class WriteFactory {
// , : ,
public Writer produce(String type) {
if ("gb".equals(type)) {
return new GangBi();
} else if ("mb".equals(type)) {
return new MaoBi();
} else {
return null;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.