오늘 신기하고 재밌는 코드를 보았다.
우리 프로젝트는 데이터 유형만 다르고 기능은 비슷한 그룹이 여러 개 있는데, 각각 인터페이스와 서비스를 만들다 보니 중복되는 코드가 많다.
그래서 이 중 한 기능을 인터페이스를 하나로 통합하고 각각 데이터 유형별로 구현체가 있는 형태로 바꾸었다.
이렇게 하면 해당 service를 주입받는 controller에 해당하는 구현체를 넣어주면 된다.
@Service("exampleServiceType")과 같이 어노테이션을 통해 빈 이름을 설정하고 이 값으로 구현체를 받아올 수 있다.
비슷한 전략을 controller에서도 적용할 수 있다.
이런 방식으로 구현할 수 있다고 예시를 본 것을 참고해서, 간단하게 테스트 프로젝트를 만들어보았다.
https://paran21.tistory.com/175
간단한 예시지만 구현해보면서 인터페이스나 구현체, 전략패턴과 같은 디자인패턴 등에 더 흥미가 생겼다!!
'회고' 카테고리의 다른 글
20220621-22 TIL #인터페이스 #동적 파라미터화 #일급컬렉션 (0) | 2022.06.22 |
---|---|
20220609 TIL #스터디 시작! (0) | 2022.06.15 |
20220607 TIL #쉬기 공부하기 #테스트코드 #자바 (0) | 2022.06.08 |
20220602 TIL #어떻게 하면 더 좋은 코드를...? (0) | 2022.06.03 |
20220525 TIL #서버에서 프론트까지 작업하기 #테스트코드 작성하기 (0) | 2022.05.25 |