Factory Pattern1 [Spring] 간편 결제 기능 팩토리 클래스 적용하기 간편 결제 기능이 있는 프로젝트를 진행하다가, 기존에는 현금결제와 카카오페이결제 기능이 있었다. 이번에 네이버페이결제 기능을 추가하기 위해서, 코드를 작성하면 새로운 기능 추가로 인해서 기존의 코드들이 대폭 수정하는 일이 발생하였다. OCP 법칙에 맞지 않게 코드를 설계했었다. 코드를 설계할 때부터, 기능이 추가될 것을 예상하고 설계를 했으면 좋았을 텐데.. 아무튼 새로운 결제 기능을 추가함에 있어서, 기존의 코드가 수정되지 않도록 팩토리 패턴을 적용하였다. 팩토리 패턴을 적용하기 위해서 아래와 같이 PayService 인터페이스와 각각 구현체를 구현하였다. public interface PayService { String pay(Long orderId); } @Service public class Ka.. 2023. 5. 2. 이전 1 다음