디자인패턴 2

[디자인 패턴] 추상팩토리 (Abstract Factory)

추상팩토리 패턴이란? 추상팩토리 패턴은 구체적인 클래스는 지정하지 않은 채, 관련된 객체들을 생성할 수 있는 디자인 패턴입니다. 이야기로 알아보는 추상팩토리 문제상황 가구점을 운영한다고 가정해 보겠습니다. 가구점에서는 크게 Art Deco, Victorian, Modern 테마로 가구를 만들고 있으며, 가구점에서는 의자, 소파, 커피테이블을 만듭니다. 각 가구들은 같은 테마로 구매를 해야 서로 잘 어울리는 느낌이 납니다. 다른 테마로 구매를 하면 서로 잘 어울리지 않아 고객들의 불만이 많습니다. 또한 새 제품 혹은 제품군을 프로그램에 추가 시 기존 코드를 변경하고 싶지 않을 것입니다. 이럴 때 적용 할 수 있는 디자인 패턴입니다. 해결책 1 우선적으로 의자의 경우 인터페이스로 두고, 각 테마마다 이 인터..

DesignPatterns 2023.06.27

팩토리 메서드란? (Factory Method)

의도 팩터리 메서드는 생성과 관련된 디자인 패턴입니다. 팩터리 메서드는 상위 클래스에서 객체를 생성하기 위한 인터페이스를 제공하지만 생성될 객체의 유형은 하위 클래스가 변경을 할 수 있도록 허용하는 구조입니다. 문제 상황 예를 들어 어떠한 물건을 배달하는 코드가 있다고 가정해 보겠습니다. 처음에는 장사가 잘 되지 않아 오로지 트럭으로만 배달을 시작했습니다. 그런데 어느 순간 저희가 운영하는 앱의 사용자가 많아져 선박, 비행기로도 전송을 시작하려고 합니다. 사업적인 측면에서 너무 좋은 일입니다. 하지만 개발자인 저희는? 기존에 배달과 관련하여 Truck으로만 구현되어 있던 코드들을 수정해야 할 것입니다. 또 추후에 근거리 지역의 경우 개인 자가용으로 배달을 진행한다고 합니다. 이럴 때 개발자인 저희는? 기..

DesignPatterns 2023.06.15