워밍업 클럽 4기 백엔드 DAY-4 미션
15일 전
1. 코드 리팩토링
// 리팩토링 메서드
public boolean validateOrder(Order order) {
// 1. 주문 검사
if (order.isEmpty()) {
log.info("주문 항목이 없습니다.");
return false;
}
// 2. 사용자 검사
if (!order.hasCustomerInfo()) {
log.info("사용자 정보가 없습니다.");
return false;
}
// 3. 가격 검사
if(!order.hasValidTotalPrice()){
log.info("올바르지 않은 총 가격입니다.");
return false;
}
return true;
}
/ ------------------------- /
public class Order {
// Order 객체에 추가되는 메서드들
public boolean isEmpty() {
return items.size() == 0;
}
public boolean hasValidTotalPrice() {
return totalPrice > 0;
}
}
2. SOLID
- SRP : 각 객체는 하나의 책임(역할)만 가져야 한다.
- OCP : 기존 코드를 변경하지 않고도 코드를 추가(기능 추가)할 수 있어야 한다.
- LSP : 부모 객체를 자식 객체로 변경할 수 있어야 한다.
- ISP : 인터페이스는 최소한으로 작게 분리되어야 한다.
- DIP : 추상화 레벨이 높은 고수준 모듈(구현)은 저수준 모듈에 의존하지 않고, 추상(인터페이스)에 의존해야 한다.
댓글을 작성해보세요.