독학 설계 모델 의 공장 방법 모델
공장 방법 모델: 생 성 대상 의 인 터 페 이 스 를 정의 하여 하위 클래스 가 어떤 종 류 를 예화 할 지 결정 합 니 다. 설령 하나의 예화 가 하위 클래스 로 지연 되 더 라 도.
2. 공장 방법 모델 의 네 가지 요소
추상 적 인 공장 (Creator) 역할: 공장 방법 모델 의 핵심 으로 응용 프로그램 과 무관 하 다.모드 에서 만 든 대상 의 공장 류 는 이 인 터 페 이 스 를 실현 해 야 합 니 다.
구체 적 인 공장 (Concrete Creator) 역할: 추상 적 인 공장 인 터 페 이 스 를 실현 하 는 구체 적 인 공장 류 로 응용 프로그램 과 밀접 한 관 계 를 가 진 논 리 를 포함 하고 응용 프로그램 에 의 해 호출 되 어 제품 대상 을 만 듭 니 다.
추상 적 인 제품 (Product) 역할: 공장 방법 모델 이 만 든 대상 의 초 유형, 즉 제품 대상 의 공동 아버지 류 또는 공동으로 가 진 인터페이스 이다.
구체 적 인 제품 (Concrete Product) 역할: 이 역할 은 추상 적 인 제품 캐릭터 가 정의 하 는 인 터 페 이 스 를 실현 했다.어떤 구체 적 인 제품 은 전문 적 인 구체 적 인 공장 이 설립 되 는데, 그들 사이 에는 종종 일일이 대응 된다.
3. 실현
공장 방법 모델 의 네 가지 요소 에 따라 우 리 는 이렇게 설계 할 수 있다.
(1) Creator 인터페이스, 모든 작업 을 정의 합 니 다.
공장 방법 류 는 모두 이 인 터 페 이 스 를 계승 해 야 하 며, 성명 하 는 방법 은 IProduct 형식의 대상 을 되 돌려 주 는 것 이다.
<span style="font-family:Times New Roman;">interface IFactory
{
IProduct ProductCreate();
}</span>
(2) Creator 인 터 페 이 스 를 실현 하 는 구체 적 인 공장 류 는 몇 개의 제품 이 있 으 면 몇 개의 공장 류 가 있 고 각 공장 류 는 Creator 인 터 페 이 스 를 계승 하여 IProduct 서브 클래스 의 인 스 턴 스 를 만 드 는 데 사용 된다.
<span style="font-family:Times New Roman;">public class ProductOneFactory:IFactory
{
public IProduct ProductCreate()
{
return new ProductCreate();
}
}</span>
<span style="font-family:Times New Roman;">public class ProductTwoFactory:IFactory
{
public IProduct ProductCreate()
{
return new ProductCreate();
}
}</span>
(3) IProduct 의 인터페이스 로 제품 의 공 통 된 방법 을 정의 한다.
<span style="font-family:Times New Roman;">interface IProduct
{
void Show();
}</span>
(4) 구체 적 인 제품 유형 은 IProduct 인 터 페 이 스 를 실현 한다.
<span style="font-family:Times New Roman;">public class ProductOne:IProduct
{
public void Show()
{
//do something
}
}</span>
<span style="font-family:Times New Roman;"></span><pre name="code" class="csharp" style="font-size: 14px; line-height: 24px; text-indent: 28px;"><span style="font-family:Times New Roman;">public class ProductTw<span style="text-indent: 2em;">o:IProduct</span></span>
{ public void Show() { //do something }}
(5)客户端调用
<span style="font-family:Times New Roman;">IFactory factory = new ProductOneCreate();
IProduct product = factory.ProductCreate();
product.Show();</span>
이상 은 기본적으로 공장 방법 모델 에 대한 실현 을 완 성 했 고 창설 형 모델 로 서 공장 방법 모델 은 '개방 - 폐쇄 원칙' 을 따 랐 다. 만약 에 특정한 유형의 제품 을 추가 하려 면 이 유형의 IProduct 인터페이스 와 IFactory 인 터 페 이 스 를 계승 하면 된다.공장 방법 모델 은 대상 의 생 성 을 집중 적 으로 밀봉 하여 대상 을 교체 할 때 큰 변경 을 하지 않 아 도 되 고 고객 프로그램 과 제품 대상 의 결합 성 을 낮 출 수 있다.한 제품 을 늘 릴 때마다 해당 제품 류 와 공장 류 를 늘 려 개 발 량 을 추가 로 늘 려 야 한 다 는 단점 이 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.