JPA (1) 썸네일형 리스트형 어떻게 성격이 비슷한 여러 종류의 서비스를 추상화할까? - 전략 패턴을 통한 추상화 스프링과 JPA를 통해 오픈마켓의 결제 서비스를 구현해보자. 결제방식에는 (무통장입금, 카드, 모바일) 3가지 결제방식이 있다고 가정하자. 총 결제금액, 결제상태, 결제시간에 대한 정보는 공통으로 가지고 있고, 각 결제방식에 따라 다른 정보들을 포함하고있다. 첫 번째 포스팅에서는 일관된 방법으로 여러 종류의 서비스를 사용하는 방법을 고민해보려고한다. 가장 쉽게 생각할 수 있는 방법은 결제방식 마다 각각의 컨트롤러, 서비스, 레포지토리 를 두는 구조이다. 이 방법의 문제점을 생각해보면, 공통로직이 변경되었을 때 각 결제방법마다 해당하는 로직을 모두 변경해주어야 한다는점이다. 단순 반복 되는 코드는 실수가 생기기 마련이고 반복작업과 디버깅 작업에는 시간적비용이 많이든다. 또한 새로운 결제방식이 추가되었을 때.. 이전 1 다음