Design pattern

팩토리 패턴 팩토리 패턴은 클라이언트와 구체 클래스의 직접적인 의존성을 끊기 위해 사용합니다. 따라서 팩토리 메서드 패턴과 추상 팩토리 패턴도 큰 범주에서는 같은 역할을 합니다. 아래의 코드를 보면 클라이언트(orderPizza)가 구체 클래스(CheesePizza, PepperoniPizza)를 직접적으로 알고 있습니다. 만약 여기서 파인애플 피자가 추가된다면 어떨까요? orderPizza의 코드를 변경해야 합니다. 변경에는 닫혀 있고, 확장에는 열려있어야 하는 OCP(Open Closed Principle) 법칙도 위반하게 되죠. function orderPizza(type) { let pizza = null; if (type === "치즈") { pizza = new CheesePizza(); } ..
Why Factory Method? 팩토리 메서드의 유스케이스에 대해서는 아직은 정확하게는 잘 모르겠습니다. 아직은 디자인 패턴을 실제 실무 코드에 어떻게 활용하고, 프런트엔드 프레임워크에서 컴포넌트를 개발할때 이 디자인 패턴을 어떻게 활용하는지 모르겠습니다. 이후에 더 정확한 유스케이스에 대해서 알게 되면 포스트를 다시 정리하는 것으로 하고 오늘은 팩토리 메서드의 원리에 대해 알아보죠. Diagram 다이어그램을 보면 추상화된 RocketFactory와 Rocket이 있고 이를 상속하는 FastFactoryRocketFactory, FastRocket 클래스가 있습니다. 즉, 로켓을 어떻게 만드는지와 로켓은 어떤 부품을 가지고 있는지 일반적인 것들은 추상클래스에 정의를 하고 이를 활용해 구체적인 팩토리..
mechaniccoder
'Design pattern' 카테고리의 글 목록