작성
·
335
0
답변 1
1
NoteRepositoryImpl 만 있을 경우 테스트를 위해서 실제 코드를 수정해야 하기 때문입니다.
NoteRepository 같은 추상화 클래스 덕분에 테스트 코드 작성시 가짜 데이터로 교체하여 테스트를 수행할 수 있습니다.
그리고 기능의 추가, 수정에도 유연하게 대응할 수 있습니다.
만약, 사장님이 저장 기능을 클라우드에 수행하라고 했을 때, NoteCloudRepositoryImpl 을 추가 작성하면 됩니다. 기존 기능과 함께 사용하는 것도 가능하고요.
추상화 객체가 없다면 실제로 Repository를 다루는 부분에 복잡한 분기가 발생할 수도 있겠지요.