repository
-
20221004 TIL 더 나은 Repository를 위하여TIL 2022. 10. 4. 19:34
시간이 지나면서 프로그램의 계층을 점점 나누고 있다. 그 이유는 각각의 계층의 관심사에 맞게 분리를해서 더 관리하기 쉬운 형태를 만들고 싶기 때문이다. 계층을 나누는 과정에서 이전에 분리되지 않았을 때와 다른 점이 점점 생기고 있다. 영속성이 없는 프로그램에서는 모든 데이터가 메모리에 띄워져 있다. 즉, 데이터 소스가 따로 없는 경우는 리포지토리가 있다고 하더라도 Repository의 멤버 변수에 값들이 저장된다. 하지만 데이터 소스(DB, file 등)가 있다면 Repository에 웬만하면 멤버 변수들이 있으면 안 된다. 예외적으로 테스트를 위해 파일 경로를 생성자에서 받아서 테스트 파일에 대한 처리를 따로 해준다면 파일 경로는 멤버 변수에 들어갈 수 있다. Repository는 멤버 변수가 아닌 데..