우아한테크코스 5기/학습 로그

도메인에 처음 접근하기 - Out -> In / In -> Out 접근 방식

BE_성하 2023. 2. 27. 21:31
반응형

우테코 강의에서 처음 보는 도메인에 접근할 때의 방식 2가지를 소개해줬다.

1. Out -> In 접근 방식 

2. In -> Out 접근 방식

 

1. Out → In 접근 방식 VS In → Out 접근 방식

* Out -> In 접근 방식
- 큰 관점에서 접근하는 방식
ex : 사다리 한 개의 의미가 뭘까? 사다리 한 라인은 뭘까?
사다리 전체가 있고, 사다리 한 라인이 있네!

* In -> Out 접근 방식
- 가장 작은 단위를 찾아서 접근하는 방식
ex : 이게 가장 작은 단위인 것 같으니, 여기부터 시작해보자.
작은 것부터 하고, 이걸 합치다보니 완성되어 있다.

이 접근 방식은 취향의 차이지만 좀 더 적합한 것은 존재한다.

 

Out → In 방식은 도메인 지식이 없거나 요구사항을 객체로 도출할 수 없을 때 적합하다.

In → Out 방식은 도메인 지식이 있거나 요구사항을 객체로 도출할 수 있을 때 적합하다.

 

내가 도메인 지식이 없거나, 객체로 도출하기 힘들다! 하면 Out → In 접근 방식으로

큰 그림을 그려나가면서 객체로 만들 수 있는 작은 부분을 찾자.

 

나의 경우도, Out → In 접근 방식으로 먼저 사다리 전체, 사다리의 한 라인 등등

이 의미가 무엇일까 생각하면서 도메인 지식을 쌓은 후에,

In → Out으로 Out → In에서 발견했던 작은 하나의 객체를 정의했던 것 같다.

 

둘 중에 어떤 접근 방식이 더 나은지는 중요하지 않고

결국 실제 개발에서는 Out → In, In → Out 접근 방식 둘 중 하나만 사용되지 않고

두 방식이 상호작용하면서 핑퐁처럼 주고 받으면서 개발이 진행된다.

 

도메인을 이해하기 위해서는 그림을 그리는 등, 실제로 도메인을 체험해보자!

그리고, 객체 단위로 도메인을 바라보자!

* 객체가 될만한 것
1. 사다리 전체 
|-----|     |-----|
|     |-----|     |
|-----|     |     |

2. 사다리 한 줄
|-----|     |-----|

3. 사다리 한 줄의 연결
----- / '     '

4. 사다리 한 줄의 연결을 구분하는 구분자?
|

 

반응형