Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

반부패 계층은 구체적으로 무엇을 말하는걸까?(pg96) #1

Open
java-saeng opened this issue Feb 6, 2024 · 4 comments

Comments

@java-saeng
Copy link
Contributor

질문에 대한 각자의 생각을 적어주세요

@sangyeopchae
Copy link

sangyeopchae commented Feb 7, 2024

  • 서로 다른 바운디드 컨텍스트 간에 컨텍스트 매핑을 할 때, 영향이나 의존성을 최소화하기 위해, 사용하는 부분에서 필요로하는 형태로 변환하는 매퍼(Mapper)라고 이해하였음
  • 책에서도 큰 진흙 덩어리와 같은 컨텍스트와 어쩔 수 없이 매핑해야하는 경우에는 반부패 계층을 사용하라고 나오는 것으로 보아, 핵심은 의존성을 최소화 할 수 있는 어떤 형태로 변환하는 계층이 아닐까싶은 생각이 듦

@hyukjin-lee
Copy link

anti-corruption layer 는 말 그대로 외부의 영향으로부터 도메인의 부패를 방지하는 계층입니다.
예를 들어 이마트와 지마켓이 협업해서 지마켓 앱에서 이마트 상품들을 판매할 수 있도록 해야한다면, 기존 지마켓의 상품 모델링과 비즈니스 룰들에 영향이 최소화 될 수 있게 중간에 부패 방지 계층을 두어 지마켓의 도메인 정책에 맞게 이마트 관련 데이터들을 변환하고 정책들을 매핑하는 역할을 하게 할 수 있습니다.
크고 작은 다양한 케이스(단순 외부 api 변환 ~ 도메인 모델과 레거시 db 변환 ~ 컨텍스트 간의 변환 ~ 시스템 간의 변환 등)에서 사용될 수 있는 추상적인 개념이라 이정도로만 이해해도 충분하지 않을까 싶습니다.

@seohy02
Copy link

seohy02 commented Feb 12, 2024

  • 반부패계층은 우선 서로 다른 바운디드 컨텍스트 간의 협업에서 발생할 수 있는 문제를 해결하기 위한 패턴 중 하나임
  • 반부패계층은 타 바운디드 컨텍스트의 모델을 이용해야 할 때, 적절한 변환을 수행하는 역할을 함
  • 타 모델을 그대로 이용하지 않고 이용하는 도메인에 알맞도록 변환을 한 후 사용함으로써 외부로부터 독립성을 유지할 수 있음

@java-saeng
Copy link
Contributor Author

java-saeng commented Feb 14, 2024

도메인 주도 설계 핵심에서

반부패 계층이란 상류(공급자) 팀과 하류(고객) 팀의 유비쿼터스 언어 모델을 번역하는 계층을 만드는 것이다.

여기서 인터페이스를 제공하는 곳이 공급자, 해당 인터페이스를 사용하는 곳이 고객이라고 가정한다.

준수자처럼 고객이 공급자 모델에 무조건 맞추는 것이 아닌 서로의 독립성을 이해하되, 의사소통은 되야하니 중간에 반부패 계층이라는 통역사를 두는 것이다.

즉, 두 바운디드 컨텍스트 간에 의존성을 최대한 느슨하게 하기 위함과 동시에 트레이드 오프로 관리해야 할 대상이 늘어나게 된다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants