C\#디자인 모델 시리즈 튜 토리 얼-단순 공장 모델

1.개술:
구체 적 인 유형의 실례 화 를 정적 공장 방법 에 맡 기 면 GOF 의 23 가지 디자인 모델 에 속 하지 않 지만 현실 에 서 는 자주 사용 된다.
2.모드 속 캐릭터
2.1 공장 클래스(Simple Factory):구체 적 인 클래스 를 만 드 는 정적 방법 만 포함 합 니 다.
2.2 추상 적 인 제품(Product):간단 한 공장 에서 돌아 올 제품 을 정의 합 니 다.
2.3 구체 적 인 제품(Concrete Product):구체 적 인 제품.
3.패턴 판독
3.1 단순 공장 모델 의 일반화 도표
//img.jbzj.com/file_images/article/201606/2016060111590235.png
3.2 간단 한 공장 모델 의 코드 실현

 /// <summary>
 ///      , sealed  ,
 /// </summary>
 public class SimpleProductFactory
 {
  /// <summary>
  ///       ,                   
  /// </summary>
  /// <param name="productType"></param>
  /// <returns></returns>
  public static Product CreateProduct(string productType)
  {
   Product product = null;
   switch (productType)
   {
    case "A":
     product = new ConcreteProductA();
     break;
    case "B":
     product = new ConcreteProductB();
     break;
   }

   return product;
  }
 }

 /// <summary>
 ///     
 /// </summary>
 public abstract class Product
 {
  public Product()
  { }

  public abstract void Opration();
 }

 /// <summary>
 ///      A
 /// </summary>
 public class ConcreteProductA : Product
 {
  public ConcreteProductA() { }

  public override void Opration()
  {
   //   A
  }
 }

 /// <summary>
 ///      B
 /// </summary>
 public class ConcreteProductB : Product
 {
  public ConcreteProductB() { }

  public override void Opration()
  {
   //  B
  }
 }

4.모델 총화
4.1 장점:
4.1.1 직책 이 단일 하고 간단 하 며 클 라 이언 트 코드 와 구체 적 으로 실현 하 는 결합 을 실현 했다.
4.1.2 공장 류 는 전체 모델 의 관건 이다.필요 한 논리 적 판단 을 포함 하고 외부 에서 주어진 정보 에 따라 구체 적 인 대상 을 만들어 야 할 지 결정 한다.
4.1.3 공장 류 를 사용 함으로써 외부 에서 구체 적 인 제품 대상 을 직접 만 드 는 난감 한 상황 에서 벗 어 날 수 있 고'소비'대상 만 책임 지면 된다.이 대상 들 이 어떻게 만 들 고 어떻게 조직 하 는 지 는 상관 할 필요 가 없다.
4.1.4 각자 의 직책 과 권 리 를 명 확 히 하고 전체 소프트웨어 체계 구조의 최적화 에 유리 하 다.
4.2 단점:
4.2.1 공장 류 가 모든 사례 의 설립 논 리 를 집중 시 켰 기 때문에 높 은 내부 집적 책임 배분 원칙 을 위반 하고 모든 설립 논 리 를 한 공장 류 에 집중 시 켰 다.그것 이 만 들 수 있 는 종 류 는 사전에 고려 할 수 밖 에 없 으 며,새로운 종 류 를 추가 하려 면 공장 류 를 바 꿔 야 한다.그래서 개방 폐쇄 원칙 에 위배 된다.
4.2.2 시스템 에서 구체 적 인 제품 유형 이 계속 증가 할 때 공장 류 가 서로 다른 조건 에 따라 서로 다른 사례 를 만들어 야 한 다 는 수요 가 나타 날 수 있다.이런 조건 에 대한 판단 과 구체 적 인 제품 유형 에 대한 판단 이 교차 되 어 모듈 기능 의 확산 을 피하 기 어렵 고 체계 적 인 유지 와 확장 에 매우 불리 하 다.
주의:이런 단점 들 은 공장 방법 모델 에서 어느 정도 극복 되 었 습 니 다.
4.3 사용 필드:
4.3.1 공장 류 가 설립 을 담당 하 는 대상 이 비교적 적다.
4.3.2 고객 은 공장 류 에 들 어 오 는 매개 변수 만 알 고 대상(논리)을 어떻게 만 드 는 지 에 관심 이 없다.
4.3.3 단순 공장 은 높 은 내부 집적 책임 배분 원칙 을 위반 하기 쉬 우 므 로 일반적으로 간단 한 경우 에 만 적용 된다.
이상 이 바로 본문의 전체 내용 입 니 다.여러분 께 참고 가 될 수 있 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기