We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
p30부터 나오는 리팩터링 이후, 아래 표시한 코드가 추가되었습니다. 책에서는 이렇게 설계를 변경한 후, TicketOffice와 Audience 사이에 의존성이 추가되어 트레이드오프의 시점이 왔다고 얘기합니다. 여러분이라면 어떻게 설계를 하시겠습니까?
트레이드오프(Trade-off)란? - 상충관계. 장점이 있으면 단점이 있는 것.
1. (리팩토링 이전) TicketOffice와 Bag의 자율성이 낮지만, 결합도는 낮은 설계 vs 2. (리팩토링 이후) TicketOffice가 Audience에 의존하여 결합도가 증가했지만 TicketOffice와 Bag이 자율성을 갖는 설계
public class TicketOffice { private Long amount; private List<Ticket> tickets = new ArrayList<>(); public TicketOffice(Long amount, Ticket ...tickets) { this.amount = amount; this.tickets.addAll(Arrays.asList(tickets)); } + public void sellTicketTo(Audience audience) { + plusAmount(audience.buy(getTickets())); + } private Ticket getTicket() { return tickets.remove(0); } private void plusAmount(Long amount) { this.amount += amount; } }
The text was updated successfully, but these errors were encountered:
eotkd4791
No branches or pull requests
p30부터 나오는 리팩터링 이후, 아래 표시한 코드가 추가되었습니다.
책에서는 이렇게 설계를 변경한 후, TicketOffice와 Audience 사이에 의존성이 추가되어 트레이드오프의 시점이 왔다고 얘기합니다. 여러분이라면 어떻게 설계를 하시겠습니까?
The text was updated successfully, but these errors were encountered: