본문으로 건너뛰기

16개 문서가 "소프트웨어 설계" 태그에 분류되었습니다

코드를 어디에 두고 무엇을 모르게 할지 정하는 문제입니다. 응집도와 결합도, 의존성 방향, 도메인 모델을 다룹니다.

모든 태그 보기

API 응답은 모델을 닮아야 할까요?

API 응답과 도메인 모델을 분리할 때 얻는 이점과 매핑 비용을 비교합니다. 계층별 DTO 구성, 응답의 중첩 구조, 인터페이스로 필드 누락을 줄이는 방법을 다룹니다.

DB 조회는 왜 아웃바운드일까요?

호출 방향을 기준으로 인바운드·아웃바운드 어댑터를 구분합니다. 이벤트 리스너와 fetch, props 콜백을 예로 호출 방향과 코드 의존성의 차이를 설명합니다.

그 로직은 어디에 살아야 할까요?

검증과 권한 로직을 모델·서비스·컨트롤러 중 어디에 둘지 살펴봅니다. rich·anemic 도메인 모델을 비교하고, 도메인 서비스와 애플리케이션 서비스의 책임을 구분합니다.

도메인 모델은 왜 DB를 몰라야 할까요?

헥사고날 아키텍처에서 도메인 모델을 DB와 프레임워크로부터 분리하는 이유를 설명합니다. React에 비유해 포트·어댑터를 이해하고, 코드 의존성을 제한하는 방법을 살펴봅니다.

무엇을 상태로 두지 말아야 할까요?

React에서 별도로 저장할 필요가 없는 상태를 구분합니다. 최신 값 읽기, 파생 값 계산, Effect의 연쇄 실행 예제로 상태를 줄이는 기준을 살펴봅니다.

이 API는 누가 부르나요?

호출자에 따라 API를 퍼블릭·오퍼레이션·인터널로 구분하는 설계 사례를 살펴봅니다. 각 API의 권한 처리와 도메인 간 호출에서 책임을 나누는 기준을 설명합니다.

이 응답은 누구 것인가요?

SSE·WebSocket·postMessage에서 요청과 응답을 상관키로 연결하는 방법을 설명합니다. 요청을 하나씩 처리하는 큐의 한계와 타임아웃·지연 응답 문제를 실행 예제로 확인합니다.

타입스크립트로 잘못된 상태 막기

TypeScript의 태그 유니온과 브랜디드 타입으로 잘못된 상태를 줄이는 방법을 설명합니다. 입력 검증 결과를 타입에 담는 설계와 적용 범위를 예제로 살펴봅니다.

테넌트와 테넌시란 무엇일까요?

테넌트와 테넌시의 뜻부터 싱글테넌시·멀티테넌시의 차이까지 설명합니다. 문서 협업 서비스를 예로 자원 공유, 데이터 격리, 권한과 DB 분리 방식을 살펴봅니다.