디자인 패턴은 세 가지 추상 팩토리 패턴 노트

피자 프로젝트 봐 : 유지 보수를 용이하게하기 위해, 확장의 피자 종류를 용이하게하기 위해

  1. (등 GreekPizz, CheesePizz 등) 피자의 많은 다른 유형
  2. 생산 피자 빵을, 잘라 내기, 상자가 준비
  3. 피자는 기능을 완료하기 위해.
전통적인 방법을 사용하여 달성하기 위해
  1. 생각 분석 (도 클래스)
    그림 삽입 설명 여기

장점과 전통적인 방법의 단점

  1. 장점은 상대적으로 이해하기 쉬운 작동하기 쉽습니다.
  2. 단점은 확장 오픈하지만, 수정을 위해 폐쇄 디자인 패턴 OCP의 원칙의 위반입니다. 우리는 클래스에 새로운 기능을 추가 할 때 즉, 코드를 수정하지 않으려 코드를 수정하거나 덜 수있다.
  3. 예를 들어, 우리는 다음 새로운 피자 종 (고추 피자)를 추가하려면, 우리는 다음과 같은 수정을해야합니다. 코드 요구의 순서가 수정 될 우리가 오랫동안 같은 클래스 피자, 피자를 추가합니다.
  4. 아이디어의 개선 된 분석은
    분석 : 수정 코드는 허용되지만 우리는 코드가있는 경우, 다른 장소에서 피자를 만들어 그것은 또한 만든 피자 코드를 많이하는 경향이 수정 될 필요가 있다는 것을 의미한다.

아이디어 : 피자 객체의 캡슐화는 우리가 피자의 새로운 종류를 가지고, 그래서 당신은 단지 클래스가 될 수 있습니다 수정해야하는 클래스를 만들 때 생성하기 위해 다른 피자가
코드 .-> 간단한 공장 패턴을 수정할 필요가 없습니다 객체를

간단한 공장

기본 소개

  1. 스키마를 만들 수있는 간단한 공장 패턴의 일부 공장 모델입니다. 간단한 공장 패턴은 어떤 종류의 제품의 클래스의 인스턴스를 생성하기 위해 팩토리 객체에 의해 결정된다. 간단한 공장 패턴은 공장 모델 제품군은 가장 간단하고 실용적인 모드입니다

  2. 간단한 공장 패턴 : 객체 클래스의 정의, 캡슐화 행동에 객체 클래스 (코드)의 인스턴스를 생성

  3. 소프트웨어 개발에서, 우리는 오브젝트의 배치의 일종, 그것은 공장 패턴을 사용할 경우 어떤 종류를 만들거나 많이 사용하는 경우.

간단한 공장 패턴을 사용하여

  1. 간단한 공장 패턴 디자인 : 클래스의 정의는 Pizaa 개체, 개체를 만들 수있는 패키지 코드를 인스턴스화 할 수 있습니다.

그림 삽입 설명 여기

공장 방법 패턴

새로운 수요 봐

새로운 프로젝트 요구 사항 피자 : 피자 고객이 점에서, 요점은 베이징, 베이징 고추 피자 치즈 피자 런던, 런던 고추 피자 등 다양한 피자의 맛, 치즈 피자, 수있다.

아이디어 (1)

등이 현재의 경우에서 BJPizzaSimpleFactory, LDPizzaSimpleFactory 간단 팩토리 클래스의 다양한 만들 간단한 공장 패턴을 사용하여, 그것은 또한 가능하지만 프로젝트의 크기의 유지 보수뿐만 아니라 소프트웨어의 확장 성을 고려하는 것은 특히 아니다 좋은

아이디어 2

팩토리 메소드 패턴을 사용하여

공장 방법 패턴 프리젠 테이션

  1. 공장 방법 디자인 패턴 : 항목 피자는 서브 클래스를 주문 다른 맛 구현, 추상적 인 방법으로 추상적 인 기능을 인스턴스화.
  2. 공장 메소드 패턴 : 오브젝트의 추상적 정의를 생성하는 방법은 서브 클래스가 인스턴스화 결정된다. 공장 방법은 개체 모델이 서브 클래스로 연기 인스턴스화합니다.

공장 방법 패턴 응용 프로그램

  1. 피자 새 프로젝트 요구 사항 : 점에 피자 피자 고객, 당신은 베이징의 치즈 피자, 베이징 고추 피자 치즈 피자 런던, 런던 고추 피자 등 다양한 맛에 가리킬 수 있습니다

  2. 그래픽 아이디어의 분석
    그림 삽입 설명 여기

추상 팩토리 패턴

기본 소개

  1. 추상 팩토리 패턴 : 정의 관련 개체 또는 종속 관계의 클러스터를 만드는 데 사용되는 인터페이스를 특정 클래스를 표시하지 않고
  2. 추상 팩토리 패턴은 간단한 공장 패턴과 팩토리 메소드 패턴을 통합 할 수 있습니다.
  3. 디자인 관점에서 추상 팩토리 패턴은 (더 추상화를 요구 나) 간단한 공장 개선의 패턴입니다.
  4. 두 개의 층, AbsFactory (추상 공장)과 식물의 특정 구현 서브 클래스에 추상 공장. 프로그래머는 종류에 따라 오브젝트를 생성하기 위해 대응하는 서브 클래스 팩터를 사용할 수있다. 이 코드의 유지 보수 및 확장에 더 도움이 하나의 간단한 팩토리 클래스 공장 클러스터가 될 것이다.
  5. 클래스 다이어그램
    그림 삽입 설명 여기
게시 93 개 원래 기사 · 원 찬양 31 ·은 30000 +를 볼

추천

출처blog.csdn.net/weixin_43866567/article/details/104614101