>  기사  >  Java  >  JAVA 디자인 패턴: 단순 팩토리, 팩토리 메소드, 추상 팩토리 간의 요약 및 차이점.

JAVA 디자인 패턴: 단순 팩토리, 팩토리 메소드, 추상 팩토리 간의 요약 및 차이점.

高洛峰
高洛峰원래의
2016-12-15 14:26:341571검색

심플 팩토리, 팩토리 메소드, 추상 팩토리는 모두 디자인 패턴의 생성 패턴입니다. 주요 기능은 객체의 인스턴스화 부분을 추출하고, 시스템 아키텍처를 최적화하고, 시스템의 확장성을 향상시키는 데 도움을 주는 것입니다.

이 글은 이 세 가지 모드에 대한 나의 연구와 이들 간의 차이점에 대한 나의 이해를 요약한 것입니다.

단순 팩토리

단순 팩토리 패턴의 팩토리 클래스는 일반적으로 정적 메서드를 사용하여 수신된 매개변수에 따라 다양한 객체 인스턴스를 반환합니다.

코드 수정 없이는 확장이 불가능합니다.

JAVA 디자인 패턴: 단순 팩토리, 팩토리 메소드, 추상 팩토리 간의 요약 및 차이점.

팩토리 메소드

팩토리 메소드는 제품별로 팩토리 클래스를 제공합니다. 다양한 제품 인스턴스는 다양한 팩토리 인스턴스를 통해 생성됩니다.

동일한 계층 구조에서는 어떤 제품이든 추가할 수 있습니다.

JAVA 디자인 패턴: 단순 팩토리, 팩토리 메소드, 추상 팩토리 간의 요약 및 차이점.

추상공장

추상공장은 제품군 개념에 대응합니다. 예를 들어, 각 자동차 회사는 자동차, 트럭, 버스를 동시에 생산하기를 원할 수 있으므로 각 공장에는 자동차, 트럭, 버스를 만드는 방법이 있어야 합니다.

새로운 제품군 추가는 쉽지만 새로운 제품 추가는 불가능하다는 컨셉에 맞춰 탄생했습니다.

JAVA 디자인 패턴: 단순 팩토리, 팩토리 메소드, 추상 팩토리 간의 요약 및 차이점.

요약

★팩토리 패턴에서 중요한 것은 Product 클래스가 아닌 Factory 클래스입니다. 제품 클래스는 여러 수준의 상속 또는 단일 클래스를 포함하여 다양한 형태로 될 수 있습니다. 그러나 팩토리 모드 인터페이스는 한 가지 유형의 인스턴스만 반환한다는 점이 분명해야 합니다. 이는 제품 클래스를 설계할 때 주의를 기울여야 합니다. 상위 클래스나 공동으로 구현된 인터페이스를 갖는 것이 가장 좋습니다.

★팩토리 패턴을 사용하면 반환된 인스턴스는 팩토리에서 생성되어야 하며 다른 개체에서 가져오면 안 됩니다.

★팩토리 모드에서 반환된 인스턴스는 새로 생성할 필요가 없으며, 팩토리에서 생성된 인스턴스를 반환하는 것도 가능합니다.

차이점

간단한 공장: 어떤 제품이든 동일한 레벨 구조로 생산하는 데 사용됩니다. (새로운 제품을 추가할 수 있는 방법은 없습니다.)

공장 모드: 동일한 계층 구조에서 고정된 제품을 생산하는 데 사용됩니다. (모든 제품 추가 지원)
추상 팩토리: 다양한 제품군의 모든 제품을 생산하는 데 사용됩니다. (새 제품 추가는 할 수 없고 제품군 추가는 지원됩니다.)

위의 세 가지 팩토리 방식은 계층 구조와 제품군이라는 두 가지 방향에서 지원 수준이 다릅니다. 따라서 상황에 따라 어떤 방법을 사용해야 하는지 생각해 보세요.


더 많은 JAVA 디자인 패턴: 단순 팩토리, 팩토리 메소드, 추상 팩토리 요약 및 차이점 관련 기사는 PHP 중국어 웹사이트를 참고하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.