김영한 스프링 핵심 원리 - 기본편 강의에선 DI,OCP 등을 지키기 위해서 먼저 인터페이스만들고 이걸 구현한 클래스들을 만드는게 중요하다고 강조하면서 비지니스 로직인 서비스도 먼저 인터페이스만들고 구현한 클래스를 만들었습니다.
근데 DB 2편 강의에선 서비스는 보통 구현체를 변경할 일이 많지 않아서 사실 서비스엔 인터페이스를 잘 도입안한다는데 머가 맞는건가요? 그럼 보통 컨트롤러, 서비스, 레포지토리 이렇게 계층이 나뉘는데 이러면 레포지토리만 보통 인터페이스를 만드나요?
자아분열이노 - dc App
이건 진짜 개발자 재량인데 요는 바뀔 수 있는 부분을 인터페이스화 하는거임. 외부 api에 요청을 하는 부분이나, 리모트 캐시를 쓰는 상황은 바뀔 여지가 있으니 인터페이스로 관리하는게 편하겠지 그 외에도 코드 구조상으로 추상화를 하고싶거나 다형성을 이용하고 싶을때도 씀. 나는 개인적으로 컴포지트 패턴 쓸 일이 많았던 거 같음
강의는 내가 안봐서 모르겠는데 기본 강의에선 당장 사용할 클래스가 서비스 밖에 없어서 그냥 예시로 가져온거 일거임. 일반적으로 서비스까지 인터페이스두는건 잘 못보긴 했음 헥사고날 같은거 쓰는게 아닌이상
아하. 감사합니다
https://youtu.be/8u82cAPQTjc?si=mZWWFpYgxSceTTFZ
사람마다
다른거라 위에 같은 관점도 있으니 보시면 댐. 나도 김영한 강의 안들어봐서 잘 모르겠는데 이거랑 비슷한 내용일지도
흐음 케바케