//연관관계 들어가고 복잡하기때문에 생성메서드가 있으면 좋다
//== 생성 메서드==//
public static Order createOrder(Member member, Delivery delivery, OrderItem... orderItems) {
Order order = new Order();
order.setMember(member);
order.setDelivery(delivery);
// Collections.addAll(order.getOrderItems(), items);
for (OrderItem orderItem : orderItems) {
// order.getOrderItems().add(orderItem); 난 이렇게 했는데 addItems 메소드가 있다.
order.addOrderItem(orderItem);
}
order.setStatus(OrderStatus.ORDER);
order.setOrderDate(LocalDateTime.now());
return order;
}
강의에서는 편의를 위해서 Setter를 열어두고 진행했지만,
하지만 열어 둘 경우에 변경 포인트가 너무 많아서, 유지보수가 어렵기 때문에 닫아두는 걸 권장했다.
public static Comment createComment(CommentDto commentDto) {
Comment comment1 = new Comment();
comment1.set... 하려했는데 안되네요? 그래서 빌더를 사용한건가요~?
}
다른곳에 적용해보려고, 항해99에서 제공해준 강의내용에 연습해보려했지만 여기에는 Dto를 활용했기 때문에 Setter가 닫혀인다.
문득 드는 생각이 그래서 Builder라는 걸 사용하는건가? 싶다. 아직 Builder를 배우진 않아서 느낌상으로 그런걸까? 하는 생각을 적어둔다.