
327
부록
C
인프라 교체: CSV로 모든 데이터 처리하기
C.1
CSV
를 사용한 저장소와 작업 단위 구현하기
여기서
CSV
기반 저장소 모습을 보여준다. 이 저장소는 디스크에서
CSV
를 읽는 과정이나
서
로 다른 두 가지
CSV
two
different
CSV
(하나는 배치, 하나는 할당 )를 읽어야 하는 내용을 추상화해
생략하고, 익숙한
list
()
API
만 제공한다. 이렇게 하면 도메인 객체를 메모리에 담은 컬렉션
을 제공하는 듯한 환상을 제공할 수 있다.
CSV
를 저장 메커니즘으로 사용하는 저장소(
src
/
allocation
/
service
_
layer
/
csv
_
uow
.
py
)
class CsvRepository(repository.AbstractRepository):
def __init__(self, folder):
self._batches_path = Path(folder) / ‘batches.csv’
self._allocations_path = Path(folder) / ‘allocations.csv’
self._batches = {} # type: Dict[str, model.Batch]
self._load()
def get(self, reference):
return self._batches.get(reference)
def add(self, batch): ...