인터페이스 잘 써보자
드디어 인터페이스를 반드시 써야 하는 상황이 발생!!
SpringBoot Batch로 집계정산을 담당하고 있다.
진짜 젤 첨에는 tasklet 으로 개발을 했는데
로직이 길기때문에 chunk 모델로 reader processor writer로 나눴다.(건수가 몇십만 건 이라는 이유도 있음)
프로세서 쪽이 계속해서 로직이 늘어났고
구조를 바꿨다.
프로세서에서 직접 dao를 호출하지 않고 service클래스를 만든후 processor -> service -> dao 식으로 말이다.
(RestApi에서 controller 가 service를 호출하고 service에서 dao를 호출하는 것처럼)
그런데 로직이 계속 늘어났다... 감당이 안된다...
뭔가 공통부분은 따로 뽑아내야하는 상황
그래서 IF를 만들라는 지시를 받았고, 무턱대고 들이댔다.
보통 프로젝트에서 xxxService implements ZZZZ 라는식으로 많이들 사용하긴 하는데
거의 관례적으로만 사용하는 케이스가 많아서
이렇게 직접 공통화 하는 작업을 위해서 인위로 인터페이스를 만들기 까지 해야하는 상황은 많지는 않을듯..
여튼.. 그러한 이유로 interface라는 놈이 어떤놈이지 다시금 살펴보고 자료를 찾아보았다.