Skip to content
/ Gro-BE Public

기존의 목표 관리 앱의 문제점을 파악하여, 이를 개선한 DDD기반 목표 관리 서비스 입니다.

Notifications You must be signed in to change notification settings

hh-Gro/Gro-BE

Repository files navigation

image

아키텍처 설명

Domain Model: 도메인 엔티티를 설계

  • 도메인 모델과 엔티티를 분리하여 설계
  • 외부 모델에 종속되지 않고, 순수 도메인 모델을 설계

Use Case: 실제 비즈니스 로직 설계

  • 도메인 로직 간 흐름을 모아둔 설계
  • In Port: presentation의존성을 줄이기 위해 Use Case Interface 설계
  • Out Port: infrastructure 의존성을 줄이기 위해 외부 시스템의 interface 설계

Infrastructure: 외부 시스템과 연결 부분 설계

  • Out Port Interface를 직접적으로 구현(Out Adapter)
  • 외부 시스템과 연결되는 구조를 정의

Presentation: 실제 사용자에게 표현하는 부분 설계

  • In Port Interface를 의존 받아 실제 비즈니스 로직을 수행 후 사용자에게 보여줌(In Adapter)

서비스 규칙

  1. 바운디드 컨텍스트 별로 코드를 분리
  2. 바운디드 컨텍스트 경계를 해치지 않는 코드들은 외부로 뺌
    • config
      • 단순 코드 설정 파일이 아닌, 특정 영역에 대한 전역적인 동작 방식을 정의하고 제어하는 코드 포함
    • sharedkernel
      • 두개 이성의 컨텍스트 간의 공유되는 모델을 정의
  3. AggregateRoot 도메인 모델은 @AggregateRoot 어노테이션과 AbstractAggregateRoot 클래스를 상속 받아서 구현

Gro

<프로젝트 완성 시 공개>

Context Map

<프로젝트 완성 시 공개>

About

기존의 목표 관리 앱의 문제점을 파악하여, 이를 개선한 DDD기반 목표 관리 서비스 입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages