7.04_ 간단한 공장 패턴 및 공장 방법 패턴

간단한 공장 패턴 개요
  콘크리트 공장 클래스를 정의 정적 팩토리 메소드 패턴라고 * 어떤 클래스의 인스턴스를 생성
  * B : 장점은
    클라이언트는 각 클래스의 책임 정의 객체 생성에 대한 책임을 필요로하지 않는다 *
   C를 단점 :
    새로운 개체 또는, 당신은 지속적으로 공장 클래스를 수정해야하는 일부 개체를 만들 수있는 다른 방법을 추가 할 수있는 경우 * 정적 팩토리 클래스는 모든 개체를 만들기위한 책임이있다, 후반의 유지 보수에 도움이되지 않습니다
  사례 발표 : * D
    추상적 * 동물 클래스 : 공공 추상적 인 동물 {공공 추상적 무효가) (EAT;}
    * 상세한으로 개 : 동물 (가) 확장 공용 클래스 개 {}
    * 상세한으로 고양이를 다음 동물 {공용 클래스 고양이} 확장
    * 시작, 각 테스트 클래스의 구체적인 내용을 작업이 너무 많은 문제가있는 경우 객체를 생성하지만, 자신의 객체를 생성, 당신은 그래서 우리는 개체를 만들 수있는 특별한 클래스를 알고,이 일에 전념 사람이 필요합니다.
    *
      Public 클래스 AnimalFactory {
        개인 AnimalFactory () {}

        // 공용 static 개 createDog는 () {) 새로운 새로운 개 (반환;}
        // 공공 정적 고양이 createCat는 () {반환 새로운 새로운 고양이를 ();}

        // 개선
        동물 createAnimal 정적 공개 (문자열 animalName라고) {
          IF ( "개".equals (라고 animalName)) {}
            다른 IF ( "CAT".equals (ANIMALE)) {

            }는 다른 {
            는 null;
              }
          }
        }
둘째, 팩토리 메소드 개요 및 사용
  * A : 개요 팩토리 메소드 패턴의
    * 팩토리 메소드 패턴 추상 팩토리 클래스는 객체를 생성 작업 특정 객체가 추상 공장을 상속 구체적인 클래스에 의해 달성 생성하기 위해 인터페이스를 정의 할 책임이있다.
  * B : 장점은
    클라이언트가 새로운 개체를 추가 할 수있는 경우에만 기존에 영향을 미칠 수없는 특정 클래스와 콘크리트 공장 클래스를 추가 할 필요가, 각 클래스의 책임을 정의 객체를 생성에 대한 책임을 할 필요는 없습니다 * 코드, 후자 쉬운 유지 보수, 시스템 확장 성을 향상시키기 위해
  * C : 단점
    * 필요 추가 코딩, 증가하는 워크로드
  * D : 사례 발표
  *
    동물 추상 클래스 : 공공 추상 동물은 {공공 추상적 무효가 (식사);}
    공장 인터페이스 : 공용 인터페이스 공장 {공공 추상적 인 동물 createAnimal ();}
    특히 개 : 공용 클래스 개 동물 {} 확장
    특정 고양이 : 공용 클래스 고양이 동물을 {} 확장
    작업이 너무 많은 문제가있는 경우 각각의 특정 콘텐츠 객체를 생성하기 위해, 그러나, 자신의 객체를 생성하는 테스트 클래스에서, 시작, 당신은 사람이 필요 우리는 개체를 만들 수있는 특별한 클래스를 알 수 있도록 특별히이 일을 할 수 있습니다. 각각의 수정 코드는 개선 팩토리 메소드, 각각의 특정 구현을위한 콘크리트 공장 너무 귀찮은 발견했다.
    개 공장 : 공용 클래스 DogFactory 구현 공장의 {
        공공 동물 createAnimal () {...}
          }
    고양이 공장 다음 구현 공장의 공용 클래스 CatFactory {
        공공 동물 createAnimal () {...}
      }

추천

출처www.cnblogs.com/zyyzy/p/12426319.html