데브허브 | DEVHUB | [10분 테코톡] 에드의 팩토리 패턴
- 정적 팩토리 메소드(정팩메)는 생성자 대신 static 메소드를 통해 객체를 생성하는 방식으로, 시그니처 중복 문제를 해결하고 생성 목적을 명확히 하지만, 디자인 패턴은 아닙니다. 💡
- 심플 팩토리는 객체 생성 책임을 한 곳으로 집중시켜 클라이언트 코드의 중복을 줄이는 기법이지만, 새로운 타입 추가 시 팩토리 클래스 수정을 요구하여 OCP를 위반하며, 역시 디자인 패턴은 아닙니다. ⚙️
- 팩토리 메소드 패턴은 상위 클래스가 객체 생성을 위한 메소드 정의만 제공하고 실제 생성 로직은 하위 클래스가 구현하도록 하여, 새로운 타입이 추가되어도 기존 코드를 수정하지 않도록 OCP를 준수하는 디자인 패턴입니다. 🏭
- 추상 팩토리 패턴은 연관된 객체들의 '제품군'을 그룹 단위로 생성할 수 있는 인터페이스를 제공하여, 여러 관련 객체(예: Sender와 Generator)의 일관된 생성을 보장하는 디자인 패턴입니다. 🧩
- "팩토리는 안티패턴이다"라는 비판도 존재하는데, 이는 객체 생성 방식에 과도하게 집중하여 비즈니스 로직을 소홀히 하거나 불필요한 복잡성을 추가할 수 있다는 관점입니다. ⚠️
- 결론적으로, 팩토리 기법이나 패턴은 문제를 해결하기 위한 수단이지 목적이 아니므로, 상황에 맞춰 신중하게 적용해야 불필요한 복잡성을 피하고 개발의 초점을 유지할 수 있습니다. ⚖️