정보와 행동을 함께 보는 도메인 개념 도출법
정보와 프로세스 또는 행동을 사례별 관점에서 살펴 전송 이벤트와 도메인 개념을 구분하는 방법입니다.
출처 및 AI 안내: 이 글은 제미니의 개발실무 유튜브를 기반으로 작성되었습니다.
gpt-5.6-sol모델을 사용해 생성·편집했습니다.
도메인 개념을 도출할 때 정보와 프로세스 또는 행동은 모두 유용하다. 다른 관점도 도움이 될 수 있지만 고정된 목록은 없으며, 어떤 관점이 필요한지는 사례마다 다르다. 프로세스나 정보 하나만 보면 모델이 단면적이 될 수 있다.
기계적으로 적용할 하나의 추출법은 없다. 업무 흐름이나 이미 가진 정보가 단서가 될 수 있고, 애플리케이션 밖의 관찰에서 다른 개념을 떠올릴 수도 있다. 어떤 관점이 도움이 되는지는 상황에 따라 달라진다.
정보는 단서이지 모델 전체가 아니다
현실의 고지서는 애플리케이션의 정보나 프로세스만 보아서는 떠올리지 못한 개념의 계기가 될 수 있다. 나는 관리비 고지서에 납기 후 금액과 연체 금액이 따로 적힌 것을 보고 연체를 하나의 개념으로 생각하게 됐다.
이미 가진 정보는 좋은 단서지만, 정보만을 유일한 개념 도출 방법으로 삼아서는 안 된다.
전송 이벤트도 정보가 들어오는 방식만 설명할 수 있다. HTTP, gRPC, 소켓, 메시지 큐는 그 자체로 비즈니스 모델이 아니다. 장비가 ‘이벤트’를 보낸다고 할 때도 그것이 기술적인 봉투인지, 화재 감지·가스 감지·도난 감지 같은 현실의 사건인지 먼저 구분해야 한다.
하나의 거대한 이벤트와 수많은 작은 타입 사이에서 군집을 찾는다
모든 장비 알림을 단순히 Event라고 부르면 너무 큰 개념이 될 수 있다. 끝없이 확장되면서 경계가 흐려지고 사건마다 필요한 행동의 차이를 숨긴다. 반대로 원시 이벤트 종류마다 최상위 개념을 만들면 모델이 지나치게 잘게 부서진다.
비즈니스 의미가 있는 군집을 찾는다. 화재와 가스 감지는 탈출을 위해 출입문 잠금을 해제한다는 공통 행동이 있을 수 있고, 각각의 성질에 맞는 추가 행동은 다를 수 있다. 도난 감지는 반대 행동을 요구할 수도 있다. 감지 시작과 종료 역시 제어 장치를 작동시키고 원상 복구하는 짝을 이룰 수 있다.
이는 탐색을 위한 예시이지 안전 시스템의 사양이 아니다. 시스템의 구체적인 정보를 알 수 없으므로 정해진 모델이 아니라 가능한 선택지로 남는다. 핵심은 공통된 비즈니스 결과로 사건을 묶고, 행동이 본질적으로 달라지는 지점에서 나누는 사고 방식에 있다.
이름을 정하기 전에 관점을 바꿔 본다
정보와 프로세스 또는 행동은 유용한 두 관점이며, 사례에 따라 다른 관점도 필요할 수 있다. 장비 사례에서는 Event가 단지 전달 방식을 가리키는지, 여러 감지 종류에서 공통 성질을 묶을 수 있는지, 행동이 어디에서 달라지는지를 살펴본다.
목표는 명사를 최대한 많이 만드는 것이 아니다. 하나의 관점만으로 결정하지 않고, 가진 정보를 보고 프로세스나 행동을 생각하며, 맥락에 따라 다른 관점도 더해 보는 데 의미가 있다.