더북(TheBook)

2.2.1 의존성 주입이란?

승현은 얼마 남지 않은 자바스크립트 콘퍼런스 행사의 웹 사이트 구축 업무를 자원했다. 사상 최대 규모의 행사인데다 전 세션은 초만원일 것으로 예상되므로 참가자 좌석 예약은 당연히 필수다. 승현은 좌석 예약 기능을 갖춘 클라이언트 측 코드 개발을 맡았다.

DB 연동은 콘퍼런스 웹 서비스를 호출하게 되어 있다. 객체 지향 프로그래밍 원칙에 충실한 승현은 우선 ConferenceWebSvc 객체에 서비스를 캡슐화하고 멋진 팝업 메시지를 화면에 표시할 자바스크립트 객체 Messenger를 작성한다. 자, 본격적인 이야기는 이제부터다.

참가자는 1인당 세션을 10개까지 등록할 수 있다. 참가자가 한 세션을 등록하면 그 결과를 성공/실패 메시지로 화면에 표시하는 함수를 개발해야 한다. 예제 2-9는 초기 버전이다(ConferenceWebSvc를 동기로 호출한 부분은 양해하기 바란다. 더 좋은 아이디어는 5장과 6장에서 소개한다. new 키워드로 객체를 생성하는 코드를 끔찍이 싫어하는 독자도 있겠지만, 여기서는 최악의 케이스를 먼저 제시한 것이다).

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