Factory Pattern

이영훈·2022년 1월 17일
0
post-thumbnail

프로그래밍에는 다양한 디자인 패턴이 존재한다.
MVC, MVP, MVVM, Singleton, Factory Pattern... 등등
오늘은 가장 최근 구현해본 "팩토리 패턴" 에 대하여 정리해보는 시간을 갖겠다.

Factory Pattern?

팩토리 패턴은 객체의 생성을 팩토리 클래스 흑은 팩토리 메소드를 통해 수행하는 것이다.
결합도는 낮춘다는 기본적인 코딩 규칙에 좀 더 가깝게 해주는 것 같다.
객체의 생성을 팩토리가 담당해주기 때문에
객체 생성에 필요한 조건들이나 데이터들이 변경되어도 팩토리의 로직만 수정해주면 되기 때문에 클래스 간 의존성을 줄여주고 자연스럽게 유지보수를 용이하게 해준다.

A 클래스는 Factory 클래스에 Sub클래스 생성에 필요한 type 등의 데이터를 넘겨주고,
Factory는 해당 type에 맞는 클래스를 생성하여 A Class에 넘겨준다.

Sub Class들은 공통의 인터페이스를 구현하여야 A Class에서 Sub클래스의 함수(인터페이스에 정의된)를 수행할 수 있고, 또 A Class에서는 팩토리로 반환된 클래스의 속성을 알 필요가 없어진다(의존성이 없다)

구현 후기

딥링크 로직을 리팩토링 할 때 팩토리 패턴을 적용하였다.
기존에는 host별 로직이 전부 하나의 클래스에 있었는데(약 400줄 좀 넘는?)
Host -> Path에 따른 로직이 단계별로 분기되게 구조화 하고 싶어서
팩토리 패턴을 도입하여 팩토리에서 Host별 클래스 분기를 하게끔 구현했다.

처음 도입해본 팩토리 패턴인데 이런 경우에 시너지가 아주 좋은 것 같아
앞으로도 자주 사용할 듯 싶다.

profile
And dev

0개의 댓글