추상팩토리 패턴 예제

| 0

다음으로, 이전 섹션에서 설명한 팩터리 메서드 디자인 패턴을 사용하여 AnimalFactory를 구현합니다. getFactory() 메서드에 제공하는 인수에 따라: 이 예제에서는 클라이언트 코드를 구체적인 UI 클래스에 결합하지 않고 플랫폼 간 UI 요소를 만드는 데 추상 팩터리 패턴을 사용하는 방법을 보여 주며 모든 생성된 코드를 유지합니다. 선택한 운영 체제와 일치하는 요소입니다. 추상 팩터리 패턴 구현은 일반적인 패턴을 따르는 개체를 만들 수 있는 프레임워크를 제공합니다. 따라서 런타임시 추상 팩토리는 원하는 유형의 객체를 만들 수 있는 원하는 콘크리트 팩터리와 결합됩니다. 추상 팩터리 인터페이스는 클라이언트 코드에서 다양한 유형의 UI 요소를 생성하는 데 사용할 수 있는 만들기 메서드 집합을 선언합니다. 콘크리트 팩터리특정 운영 체제에 대응하고 특정 OS와 일치하는 UI 요소를 만듭니다. 먼저 창 인터페이스를 만들어야 합니다. 창은 우리의 추상제품입니다.

추상 팩터리는 제품군의 각 클래스에서 개체를 만들기 위한 인터페이스를 제공합니다. 코드가 이 인터페이스를 통해 개체를 만드는 한 앱에서 이미 만든 제품과 일치하지 않는 제품의 잘못된 변형을 만드는 것에 대해 걱정할 필요가 없습니다. 잘 설계된 프로그램에서 각 클래스는 한 가지에 대한 책임이 있습니다. 클래스가 여러 제품 형식을 처리하는 경우 팩터리 메서드를 독립 실행형 팩터리 클래스 또는 본격적인 추상 팩터리 구현으로 추출하는 것이 좋습니다. ComputerFactory 클래스에서 getComputer() 메서드는 컴퓨터초이록을 인수로 사용합니다. 이것이 정확하다고 확신하십니까?? 우리는 추상 공장의 몇 가지 더 나은 예를 가질 수 있습니다, AbastractFactory 클래스를 개선할 필요가 다음 움직임은 추상 공장- 제품 제품군의 일부인 모든 제품에 대한 생성 방법의 목록과 인터페이스를 선언하는 것입니다 (예를 들어, createChairChair, createSofa 및 createCoffeeTable). 이러한 메서드는 이전에 추출한 인터페이스인 의자, 소파, CoffeeTable 등으로 표시되는 추상 제품 유형을 반환해야 합니다. 추상 공장 [3] 디자인 패턴은 유연하고 재사용 가능한 객체 지향 소프트웨어, 즉 구현, 변경이 용이한 객체를 설계하기 위해 반복되는 디자인 문제를 해결하는 방법을 설명하는 23 개의 잘 알려진 GoF 디자인 패턴 중 하나입니다.

테스트하고 재사용할 수 있습니다.

Follow admin:

Latest posts from