추상팩토리 예제

public ServerFactory(문자열 램, 문자열 하드 디스크, 문자열 cpu){ 공용 컴퓨터 createComputer() { 추상 팩토리는 종속 개체의 패밀리를 다룹니다. 이를 염두에 두고 몇 가지 구현(흰색, 갈색,…)을 사용하여 하나의 패밀리 색상을 인터페이스로 소개할 예정입니다. 이제 우리는 공장을 제공해야 합니다. 먼저 추상공장을 정의합니다. 이 예제에서는 제품 패밀리를 구성하는 고유하지만 관련 제품 집합에 대한 인터페이스를 선언하는 Windows: Abstract Products를 만들뿐이라고 가정해 보겠습니다. 이 패턴을 구현 할 때 1.Iif를 사용하여 반환 할 공장을 결정합니다. OR 2.I는 AbstractFactory(예: ComputerAbstractFactory)를 인수로 받아 호출을 위임합니다(Pankaj가 이 예제에서 설명한 대로). 이 구현이 추상 팩터리 패턴과 어떻게 관련되는지 에 대한 명확한 아이디어를 제공하기 위해 방금 수행한 작업을 나타내는 클래스 다이어그램이 있습니다. 구체적인 클래스를 지정합니다. 이 패턴은 일본 자동차 제조에 사용되는 판금 스탬핑 장비에서 발견됩니다. 스탬핑 장비는 자동차 본체 부품을 만드는 추상 공장입니다. 동일한 기계는 자동차의 다른 모델에 대한 오른쪽 문, 왼손 문, 오른쪽 전면 펜더, 왼쪽 전면 펜더, 후드 등을 스탬프하는 데 사용됩니다. 스탬핑 다이를 변경하기 위해 롤러를 사용하여 기계에서 생산되는 콘크리트 클래스를 3 분 이내에 변경할 수 있습니다.

팩터리 생성기/생산자 클래스를 만들어 JDK의 추상 팩토리 디자인 패턴의 예는 javax.xml.parsers.DocumentBuilderFactory 클래스의 newInstance()입니다. 추상 공장 패턴은 공장 또는 키트의 공장이라고도합니다. 즉, 이 패턴에는 다른 팩터리를 만드는 슈퍼 팩토리가 있습니다. 문자열 컴퓨터 유형 = getRequestFromClient(); 컴퓨터 원격컴퓨터 = null; 이제 이것은 실제 경우 다른 온다. 경우 (computerType.equals (“PC”){{ 원격 컴퓨터 = ComputerFactory.getComputer (“2 GB”,”500 GB”,”2.4 GHz의”)); } else if (computerType.equals (“서버”)) { 원격 컴퓨터 = ComputerFactory.getComputer (“16 GB”,”1 TB”,”2.9 GHz의”)) } //그리고이 코드 블록은 공장에서 원격 컴퓨터 개체를 원하는 모든 곳에 존재할 것입니다 기억하십시오.