factory pattern 예제

공장 디자인 패턴은 여러 하위 클래스가있는 슈퍼 클래스가 있고 입력을 기반으로 하위 클래스 중 하나를 반환해야 할 때 사용됩니다. 이 패턴은 클라이언트 프로그램에서 팩터리 클래스로 클래스를 인스턴스화하는 책임을 집니다. 공장 패턴에서. 우리는 1 laks 하위 클래스가있는 경우, 공장을 만드는 방법. 팩터리 패턴은 몇 가지 복잡한 개체 생성 단계가 관련된 경우에 가장 적합합니다. 이러한 단계가 중앙 집중화되고 구성 클래스에 노출되지 않도록 하려면 팩터리 패턴을 사용해야 합니다. 우리는 JDK 자체에서 공장 패턴의 많은 실시간 예를 볼 수 있습니다 예를 들어, 깨끗, 말도 안되는 예. 간단하고 바로 가로 질러 포인트를 가져옵니다. 페이지 레이아웃 레이아웃과 오른쪽 상단 모서리의 ToC를 엄지 손가락으로 보세요.

자동차의 인스턴스를 원할 때마다 이 방법을 사용하십시오. 통합 부분입니다. 난 당신이 말하는 것을 완전히 이해하지 못하는?? 이 예제를 통합할 위치를 지정하려면? 좋은 예이지만, 공장도 추상화 될 수 있다는 것을 언급하기 만하면 다른 공장을 수정하고 구현 할 수 있습니다. 좋은 예 그렇지 않으면 코드에서 볼 수 있듯이, 이러한 구체적인 클래스의 각각 (푸들, 로트와일러, 시베리아Husky) 내 개 인터페이스를 구현합니다. 이것은 핵심 포인트이며, 공장 패턴의 중요한 부분입니다 : 4 단계 : GetPlanFactory를 사용하여 계획 DOMESTICPLAN 또는 COMMERCIALPLAN 또는 INSTITUTIONALPLAN의 유형과 같은 정보를 전달하여 구체적인 클래스의 개체를 얻습니다. 이 Java 예제는 디자인 패턴의 그림과 유사합니다. 명확한 설명 주셔서 감사합니다. 나는 공장 패턴여기에 하나의 의심이있다. Factory 클래스 내에서 인스턴스가 생성되는 인터페이스/추상 클래스를 구현하는 두 개의 구체적인 클래스가 있습니다.

하지만, 대신 라인 아래 컴퓨터 PC = ComputerFactory.getComputer (“pc”,”2 GB”,”500 GB”,”2.4 GHz의”); 질문에 대답하기 위해 다른 자동차 개체에 단일 패턴을 적용하고 construct() 메서드에서 반환할 수 있습니다. 의견을 주셔서 감사합니다. 위의 주석을 기반으로 AbstractFactory 구현을 업데이트했으며 이제 새로운 유형의 Animal을 추가할 때 하위 클래스를 수정할 필요가 없습니다. 예제의 getFactory 메서드는 FactoryProvider 클래스에 배치되지만 if 문을 사용 하지만 맵이 아닙니다. 간단한 공장이 마련되면서 개발자들은 이제 드래곤 사에서 하루를 즐기고 있습니다. 장난감에 대한 철저한 논의에도 불구하고, 우리는 아직 장난감 수업을 실제로 살펴보지 않았습니다. 장난감은 함수 prepare(), 패키지() 및 label()이 있는 추상 클래스입니다. 팩터리 패턴은 응용 프로그램 아키텍처를 디자인하는 동안 고려해야 할 가장 중요한 원칙인 클래스 간의 느슨한 결합을 도입합니다. 느슨한 커플링은 구체적인 구현이 아닌 추상 엔터티에 대해 프로그래밍하여 응용 프로그램 아키텍처에 도입될 수 있습니다.

이것은 우리의 아키텍처를 보다 유연하게 만들 뿐만 아니라 취약성도 줄어듭니다. 이 예제에서는 팩터리 메서드 디자인 패턴의 두 가지 구현을 만듭니다. 지금까지 우리는 클래스가 CarFactory를 만들기 위해 설계 될 필요가 디자인이 있습니다. 지금 만들어 봅시다. 공장 클래스(일반적인 디자인 패턴)는 유지 관리 및 재사용성을 위한 것입니다. 팩터리 패턴은 이 패턴의 목적은 개체 인스턴스화를 클라이언트 프로그램에서 분리하는 것입니다. 그리고 이것은 정적 방법 또는 싱글 톤 공장 클래스에 의해 달성 될 수있다. “싱글톤 패턴”은 클래스의 동일한 인스턴스를 재사용할 수 있는 유연성을 제공하는 메커니즘입니다(필요하지 않은 경우 클래스의 여러 인스턴스화를 피하거나 필수 기능을 한 번만 실행) 또는 예상을 달성하기 위한 단일 인스턴스가 있습니다. 기능.