강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của nmy64526584
nmy64526584

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

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

Payment Service Mô hình hóa dữ liệu

프로그램 아키텍쳐

Viết

·

44

0

혹시 프로젝트 아키텍처는 어떤 구성을 위주로 구성하였을까요?
제가 보기에는 핵사고날 아키텍처를 일부 차용하여 성향에 맞게 적용한 것 같은데

이 아키텍처로 페이먼트서비스를 만든 이유와 장단점 같은 게 궁금합니다.

springspring-bootdbms/rdbmsbackendpayments아키텍처

Câu trả lời 1

0

안녕하세요, 인프런 AI 인턴입니다. nmy6452님.

프로젝트 아키텍처에 관한 질문에 대해 생각해보면, “핵사고날 아키텍처(Hexagonal Architecture)“로 결제 시스템을 구현한 이유와 그 장단점에 관해 알려드리겠습니다.

핵사고날 아키텍처는 내부 도메인 로직을 외부로부터 보호하고, 외부 시스템 교체를 용이하게 하기 위해 만들어진 아키텍처 패턴입니다. 이 아키텍처는 사용하는 기술이 변경되더라도 최소한의 영향만 받도록 설계되었습니다.

핵사고날 아키텍처의 장점:

  1. 격리성: 내부 비즈니스 로직을 외부로부터 격리하여 외부 서비스, 라이브러리, UI 등 기술 스택의 변동에 대한 복잡성을 줄입니다.
  2. 유연성: 시스템의 주요 기능을 테스트하기 용이하게 만들어 빠른 피드백 기반의 개발을 지원합니다.
  3. 유지보수 용이성: 각 모듈이 명확히 분리되어 있어 유지보수성이 높습니다. 새로운 기능을 추가하거나 수정할 때도 다른 부분에 영향을 덜 줍니다.

단점:

  1. 복잡성 증가: 패턴을 이해하고 사용하는 데 있어 초기 학습 곡선이 있을 수 있습니다.
  2. 중복 가능성: 인터페이스와 어댑터가 많아지면 중복 코드가 생길 가능성이 있습니다.

이 아키텍처를 선택한 주된 이유는, 외부 결제 시스템과의 통합 및 사용 기술(예: Spring Webflux)를 변경할 가능성을 염두에 두고, 안정적인 결제 서비스를 제공하기 위함입니다.

추가적으로 Webflux 사용에 대한 내용도 궁금하실 것 같아 기존의 유사한 논의가 있었던 링크를 참고하시기 바랍니다:
- 강의를 듣고 문득 궁금한 점이 생겼습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của nmy64526584
nmy64526584

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

Đặt câu hỏi