inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Xây dựng hệ thống thanh toán vững chắc

Triển khai duyệt thanh toán

payment 상태 업데이트 변경 메서드를 3개나 두는 이유가 궁금합니다.

229

victor

1 câu hỏi đã được viết

0

강의 30분 40초에 보시면 success, failure, unknown 이렇게 상태를 변경하면서 메서드를 3개나 두시는데 이유가 궁금합니다. 만약 jpa나 querydsl을 사용한다면 코드가 달라질까요?

spring spring-boot dbms/rdbms backend payments 수업질문

Câu trả lời 2

0

victor

ai 답변이라 만족스럽지 않네요 ㅠ native sql을 커스터마이징하기 어려워서 이렇게 처리하셨는지가 요점입니다. 상태를 업데이트해야하는 것이고, 구조를 다르지 않아서 파라미터들을 이용해서 메서드를 하나로 통합할 수 있다고 생각했는데, 결제 도메인? 이라서 따로 메서드를 두신 이유가 있었나 싶었습니다. 상태변경 포인트를 메서드를 하나로 관리한다면 유지 보수에 용이할 것이라고 생각합니다. 나중에 읽어보신다면 답변 부탁드립니다!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.
victor님, 그 부분에 대한 답변입니다.

결제 시스템에서 상태 업데이트 메서드를 success, failure, unknown으로 구분해서 사용하는 이유는 각 상태 변경에 대한 명확한 구분과 추가적인 처리를 위함입니다. 결제 과정에서 상태별로 다른 로직이나 검증, 사이드 이펙트를 처리해야 할 수 있기 때문에 이렇게 분리하는 것이 유지보수성 및 가독성 면에서 좋습니다.

JPA나 QueryDSL을 사용한다고 해도, 내부적으로 상태를 업데이트하는 로직의 기본적인 이유와 원칙은 변하지 않습니다. 다만, JPA나 QueryDSL을 활용하면 상태 업데이트를 위한 코드 작성 방식이나 데이터베이스와의 인터랙션 방식이 변경될 수 있습니다. 예를 들어, JPA를 사용할 경우 엔티티 매니저를 통해 객체의 상태를 변경한 후 트랜잭션을 커밋하는 방식으로 데이터베이스 반영이 이루어지며, QueryDSL을 사용할 경우에는 좀 더 유연하고 동적인 쿼리 구성이 가능할 것입니다.

그렇지만 이러한 기술적인 선택 또는 사용 방법과는 별개로, 상태 업데이트 메서드를 목적별로 분리하여 관리하는 것은 해당 시스템의 설계 원칙이나 비즈니스 로직의 명확성을 위해 선택할 수 있는 좋은 방법입니다.

프로그램 아키텍쳐

0

60

1

실습코드 압축해제

0

77

1

confirm 로직에서 amount를 검증하는 부분에서 질문이 있습니다.

0

52

1

Transaction Demo 질문 드립니다.

0

59

1

cdc 방식

0

82

1

seed 키 및 orderId 에 대한 질문

0

64

1

결제 이후 404 Error 발생

0

160

1

테스트 코드 중 isPaymentDone 변환

0

75

1

가상의 Checkout 기능 구현 중 질문

0

183

1

docker Mysql 설정 문의

0

105

1

allOpen 설정이 잘못된 거 같습니다.

0

114

1

recovery 동시성 처리 관련 문의

0

118

1

confluent > skip 이 더이상 안되나봅니다.

0

106

1

강의 클론 코딩한 것 public repo에 올려도 되나요?

0

330

1

멱등키에 request를 넘기는 것

0

256

1

동시성 제어 (optimistic locking) 재시도 부분 질문 드립니다.

0

172

1

결제 복구의 세부 과정을 병렬로 처리한 이유가 궁금합니다

0

222

1

전체적인 헥사고날 아키텍쳐 설명

0

275

1

주문, 결제 로직에 대해서 질문이 있습니다.

0

280

1

주문 번호 생성 방식 관련 질문 있습니다

0

926

1

R2DBC 관련해서 질문 드립니다.

0

586

3

'더 견고해지기 위해 남은 작업' 수업자료

0

298

1

혹시 코드 리뷰 신청해도 될까요...?

0

310

1

코틀린 선택 이유

0

290

1