factory 패턴 예제

공장 패턴에서. 우리는 1 laks 하위 클래스가있는 경우, 공장을 만드는 방법. 명확한 설명 주셔서 감사합니다. 나는 공장 패턴여기에 하나의 의심이있다. Factory 클래스 내에서 인스턴스가 생성되는 인터페이스/추상 클래스를 구현하는 두 개의 구체적인 클래스가 있습니다. 하지만, 대신 라인 아래 컴퓨터 PC = ComputerFactory.getComputer (“pc”,”2 GB”,”500 GB”,”2.4 GHz의”); 개체를 만들려면 구성 개체 내에 포함하기에 적합하지 않은 복잡한 프로세스가 필요한 경우가 많습니다. 개체를 만들면 코드가 크게 중복될 수 있으며, 구성 개체에 액세스할 수 없는 정보가 필요하거나, 충분한 추상화 수준을 제공하지 않거나, 구성 개체의 문제의 일부가 아닐 수 있습니다. 팩터리 메서드 디자인 패턴은 개체를 만들기 위한 별도의 메서드를 정의하여 이러한 문제를 처리하며, 하위 클래스는 이를 재정의하여 생성할 제품의 파생 유형을 지정할 수 있습니다. 그래 절대적으로 당신은 옳다. 공장 방식 패턴이 아닙니다.

간단한 공장이 마련되면서 개발자들은 이제 드래곤 사에서 하루를 즐기고 있습니다. 장난감에 대한 철저한 논의에도 불구하고, 우리는 아직 장난감 수업을 실제로 살펴보지 않았습니다. 장난감은 함수 prepare(), 패키지() 및 label()이 있는 추상 클래스입니다. 지금까지 우리는 클래스가 CarFactory를 만들기 위해 설계 될 필요가 디자인이 있습니다. 지금 만들어 봅시다. 물론, getFactory 방법의 다른 구현이 있다, 예를 들어 Toolkit.getToolkit() 싱글 톤. 문서 빌더Factoy.newInstance() 너무 다른 동작이 있습니다. 클래스 기반 프로그래밍에서 팩터리 메서드 패턴은 팩터리 메서드를 사용하여 생성할 개체의 정확한 클래스를 지정하지 않고도 개체를 만드는 문제를 처리하는 생성 패턴입니다. 이 작업은 인터페이스에 지정되고 자식 클래스에서 구현되거나 기본 클래스에서 구현되고 생성자 호출자가 아닌 파생 클래스에 의해 선택적으로 재정의되는 팩터리 메서드를 호출하여 개체를 만듭니다.

4 단계 : GetPlanFactory를 사용하여 계획 DOMESTICPLAN 또는 상업 계획 또는 기관 계획 유형과 같은 정보를 전달하여 구체적인 클래스의 개체를 얻습니다. 좋은 깨끗한 예. 감사합니다, 나는 요약이 필요했다. 😉 개발자는 새 코드를 신속하게 완료하고 미국 공장에 넘겨줄 수 있습니다. 2 주 후, 뉴욕 공장생산 문제가 있었기 때문에 전화가 개발자 사무실에서 울리기 시작합니다. 직원이 패키징 및 라벨 작업을 원하지 않기 때문에 NyToysFactory 클래스가 원격 지점의 개발자에 의해 수정된 것으로 나타났습니다. 그들은 그것의 레이블() 및 package() 함수를 제거하여 produceToy()를 수정했습니다. 매번 다시 빌드하는 대신 기존 개체를 다시 사용하여 시스템 리소스를 저장하려는 경우 팩터리 메서드를 사용합니다.

이것은 완벽한 예입니다. 나는 너무 많은 링크에서 읽을 수 있지만 이해할 수 없었지만이 예는 너무 분명하다. 예를 들어 앱에 새 제품 유형을 추가하려면 새 작성자 하위 클래스를 만들고 팩터리 메서드를 재정의하기만 하면 됩니다. 위의 클래스 다이어그램은 소형, 세단 및 고급 자동차와 같은 3 가지 유형의 자동차를 제작 할 수있는 자동차 공장의 예를 사용하여 일반적인 시나리오를 묘사합니다. 자동차를 제작하려면 액세서리 할당부터 최종 메이크업까지 많은 단계가 필요합니다. 이러한 단계는 프로그래밍을 메서드로 작성할 수 있으며 특정 자동차 유형의 인스턴스를 만드는 동안 호출해야 합니다. 이제 여러 패밀리를 준비되었으므로 해당 패밀리에 대해 AbstractFactory 인터페이스를 만들 수 있습니다. 드래곤주식회사에서 사업이 호황을 누리고 있으며, CEO는 모든 해외 지점을 프랜차이즈하고 싶어합니다.

This entry was posted in Uncategorized. Bookmark the permalink.

Comments are closed.