팩토리 패턴 예제

이것은 완벽한 예입니다. 나는 너무 많은 링크에서 읽을 수 있지만 이해할 수 없었지만이 예는 너무 분명하다. 감사합니다 공공 클래스 AnimalFactory 구현 추상 팩토리 { @Override 공공 동물 만들기 (문자열 유형) { 경우 (“개”.equalsIgnoreCase (animalType)) { 반환 새 개 (동물 유형)); } 다른 경우 (“오리”.equalsIgnoreCase (animalType)) { 반환 새 오리 (); } 반환 null; } } 달력#getInstance()를 공장 패턴 구현으로 언급했습니다. 그러나이 작은 차이가 있습니다? 이 코드를 한 파일에 모두 제공하므로 Java Factory 패턴 예제를 다운로드하고 원하는 대로 실험 할 수 있습니다. 우리의 새로운 클래스 SimpleFactory로, 상황이 복잡하게되었다. 개발자는 더 이상 새로운 장난감이 도입 될 때 ToysFactory를 터치 할 필요가 없습니다, 그들은 단지 이전 지저분한 코드를 사용하는 대신 새로운 장난감을 생산하는 SimpleFactory를 사용합니다. 마지막으로, 언제나처럼 GitHub에서 이러한 예제의 구현을 찾을 수 있습니다. 깨끗하고 말도 안되는 예입니다. 간단하고 바로 가로 질러 포인트를 가져옵니다. 페이지 레이아웃 레이아웃과 오른쪽 상단 모서리의 ToC를 엄지 손가락으로 보세요.

먼저 Java에서 공장 디자인 패턴을 구현하는 방법을 알아본 다음 공장 패턴의 장점을 살펴보겠습니다. 우리는 JDK에서 공장 디자인 패턴 사용의 일부를 볼 수 있습니다. 이 패턴을 팩터리 메서드 디자인 패턴이라고도 합니다. 우리는 또한 컴퓨터 PC = 새로운 PC를 사용할 수 있습니다 (“pc”,”2 GB”,”500 GB”,”2.4 GHz의”); PC의 새로운 인스턴스를 얻을 수 있습니다. 그런 다음 클라이언트 측에서 ComputerFactory.getComputer() 메서드를 직접 사용하는 이점은 무엇입니까? 팩터리 패턴은 몇 가지 복잡한 개체 생성 단계가 관련된 경우에 가장 적합합니다. 이러한 단계가 중앙 집중화되고 구성 클래스에 노출되지 않도록 하려면 팩터리 패턴을 사용해야 합니다. 예를 들어 JDK 자체에서 공장 패턴의 많은 실시간 예를 볼 수 있습니다. Factory Method [1] 디자인 패턴은 반복적인 설계 문제를 해결하여 유연하고 재사용 가능한 개체 지향 소프트웨어, 즉 구현, 변경, 테스트 및 재사용이 용이한 객체를 설계하는 방법을 설명하는 “4개의 갱” 디자인 패턴 중 하나입니다. 간단한 공장이 마련되면서 개발자들은 이제 드래곤 사에서 하루를 즐기고 있습니다.

장난감에 대한 철저한 논의에도 불구하고, 우리는 아직 장난감 수업을 실제로 살펴보지 않았습니다. 장난감은 함수 prepare(), 패키지() 및 label()이 있는 추상 클래스입니다. 라이브러리 또는 프레임워크사용자에게 내부 구성 요소를 확장할 수 있는 방법을 제공하려는 경우 팩터리 메서드를 사용합니다. 왜 공장 패턴인가? 예를 들어 각 메시지는 서로 다른 유형의 유효성 검사에 속하므로 NotificationType i에 따라 유효성 검사팩토리를 호출합니다.