Table of Contents
공장 방법 패턴은 소프트웨어 엔지니어링에 중요한 개념이며 특히 확장 가능한 시스템 구축을 위해 설계되었습니다. 개발자는 하위 클래스 또는 특정 방법으로 플렉싱 오브젝트 생성에 의해 유연한 코드를 생성 할 수 있으며 느슨한 커플 링을 홍보하고 개방 / 폐쇄 된 원칙에 준수합니다.
공장 방법 패턴 이해
공장 방법 패턴은 초급에서 개체를 만드는 인터페이스를 제공하는 창조적 디자인 패턴이지만, 생성 될 객체의 유형을 변경할 수 있습니다. 이 패턴은 특히 시스템의 개체가 생성되는 방법, 구성 및 표현의 독립적으로 될 때 유용합니다.
패턴의 핵심 구성 요소
- 제품: 오브젝트를 정의하는 인터페이스 또는 추상 클래스는 공장 방법을 만듭니다.
- ConcreteProduct: 제품 인터페이스의 특정 구현.
- Creator: 타입의 제품을 반환하는 공장 방법을 선언하는 클래스.
- ConcreteCreator: 특정 콘크리트제품 객체를 생산하는 공장 방법을 과도하게 하는 서브클래스.
공장 방법의 이점
- 코드 재사용성 및 확장성을 촉진합니다.
- 객체 생성을 캡슐화하고, 의존성을 줄입니다.
- 기존 코드를 변경하지 않고 새로운 유형의 제품을 추가합니다.
- 새로운 제품을 최소한의 변경으로 도입할 수 있도록 오픈/닫힌 원리를 지원합니다.
공장 방법 패턴 구현
이 패턴을 구현하는 것은 공장 방법의 인터페이스 또는 추상 클래스를 정의하고 콘크리트 제품을 지정하는 하위 클래스를 만듭니다. 이 설정은 클라이언트 코드를 공장 인터페이스와 함께 작동 할 수 있으며 시스템의 유연한 확장이 용이합니다.
Code 예제
다른 유형의 문서를 작성하는 시스템을 고려하십시오.
''java // Product interface interface Document { void 렌더링(); } // Concrete products class WordDocument는 Document { public void 렌더링() { System.out.println("Rendering Word Document"); } class PDFDocument 구현 문서 { public void 렌더링() { System.out.println("Rendering PDF Document"); } // Creator Early class Application { public void openDocument() { Document doc = = cument); } new class{ public voidment(); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }
관련 기사
공장 방법 본은 가동 가능한 확장 가능한 소프트웨어 건축술을 디자인하는 강력한 공구입니다. 물체 창조를 캡슐화해서, 그것은 체계가 더 변화하고 더 확장하기 위하여 적응할 수 있는 것을 허용합니다. 이 본을 이해하고 적용하는 것은 당신의 코덱의 견고 그리고 유지성을 크게 개량할 수 있습니다.