
🎟️ 티켓 판매 애플리케이션 구현하기 관람객(Audience)은 가방(Bag) 안에 현금과 초대장(Invitation), 티켓(Ticket)을 소지한다. 그리고 판매원(TicketSeller)은 매표소(TicketOffice)에서 관람객에게 티켓을 판매하며, 관람객은

두 번째 챕터 '객체지향 프로그래밍'에서는 간단한 영화 예매 시스템을 직접 코드로 작성해보면서 객체지향 패러다임에 대해 설명한다.사용자는 특정한 조건을 만족하면 요금을 할인 받을 수 있으며, 그 조건은 다음과 같다.순번 조건(sequence condition)상영 순번

영화 예매 시스템 돌아보기 아래는 영화 예매 기능을 구현하기 위해 협력하는 객체들의 상호작용을 나타낸 그림이다. 위와 같이 다양한 객체들이 서로 메시지를 주고받으면서 상호작용하는 것을 협력이라고 한다. 객체가 협력에 참여하기 위해 수행하는 로직은 책임이라고 하며, 여

이번 장에서는 절차적 프로그래밍 방식으로 영화 예매 시스템을 설계해보고, 어떤 문제점이 있는지 설명한다. 상태가 아닌 책임에 초점을 맞춰야 한다 객체의 상태는 구현에 속하며, 구현은 불안정하기 때문에 변하기 쉽다. 객체의 상태를 중심으로 설계하면 구현에 관한 세부사항이 인터페이스에 노출된다. 이때 객체의 상태가 변경되면 이 인터페이스에 의존하는 모든 객체...

이번 장에서 사용할 예제인 영화 예매 시스템의 도메인 모델의 구조는 다음과 같다. 책임 중심 설계로 전환하기 위한 두 가지 원칙 데이터보다 행동을 먼저 결정하라 객체의 데이터에서 행동으로 중점을 옮기기 위해서는 객체를 설계하기 위한 질문의 순서를 바꿔야 한다. 데이