더북(TheBook)

효율성을 추구하다 보면 유지보수성이 떨어질 수 있는데, 때로는 유지보수성을 강화하는 쪽이 훨씬 가치 있는 경우도 있다. 데이터 구조체마다 Read()Write()를 따로 작성하기보다는 하나의 Serialize() 가상 함수로 묶어 스트림의 입출력 여부에 따라 알맞은 동작을 하게 만들고, 직렬화를 데이터 주도형으로 설계하여 자동 또는 수작업으로 작성된 메타 정보를 이용해 객체를 직렬화하면 구조체마다 읽기 쓰기 함수를 따로 작성할 필요성이 아예 사라진다.

이러한 도구를 이용하면 이제 객체의 내용을 포장해 원격 호스트로 충분히 전달할 수 있다. 다음 장에선 원격 호스트가 데이터를 풀어 넣기에 적절한 객체를 고르거나 생성하게끔 데이터의 틀을 짜는 방법, 그리고 직렬화 효율을 높이기 위해 객체 데이터 중 일부만 처리하는 부분 직렬화 기법에 대해 다룰 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.