feat: 가상화 문서들 추가
This commit is contained in:
@@ -13,12 +13,12 @@
|
||||
"alt": "GET /feed를 받는 FeedController에서 GetFeedUseCase와 FeedQueryPort로 이어지고 FeedQueryAdapter가 포트를 구현하는 포트·어댑터 구조.",
|
||||
"long_description": "왼쪽의 FeedController가 GET /feed 요청을 받아 중앙의 GetFeedUseCase에 조회를 위임한다. 유스케이스는 오른쪽의 FeedQueryPort에 조회를 의존한다. FeedQueryAdapter는 FeedQueryPort를 구현하는 아웃바운드 어댑터이며 PostgreSQL 조회를 수행한다. Fetch Join, Batch Fetch, DTO Projection, 윈도우 함수 같은 구체 전략은 이 어댑터의 책임이므로 상위 계층은 전략 교체의 영향을 받지 않는다.",
|
||||
"source_context": {
|
||||
"document": "/home/donghyeon/workspace/ai-tool/topic-arrange/n+1liner/n+1liner.md",
|
||||
"document_sha256": "1bb38964ca2a849690f5355646c1aa988111b4cd4e1055c6cb05cf7e5fc35cde",
|
||||
"document": "docs/n+1liner/final/document.md",
|
||||
"document_sha256": "f9e048a68db0ab82078955bf611b06a71a0033539e0c87ff0aa0d620a3126e36",
|
||||
"anchor": {
|
||||
"kind": "marker",
|
||||
"value": "query-port-boundary",
|
||||
"line": 297
|
||||
"kind": "heading",
|
||||
"value": "5.2 조회 전략은 포트 뒤 어댑터의 책임",
|
||||
"line": 319
|
||||
}
|
||||
},
|
||||
"composition": {
|
||||
@@ -43,8 +43,8 @@
|
||||
"description": "조회 입력과 FeedSummary 반환 형태만 아는 웹 계층.",
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 295,
|
||||
"end_line": 295
|
||||
"start_line": 323,
|
||||
"end_line": 324
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
@@ -59,8 +59,8 @@
|
||||
"description": "조회 사용자, 페이지 크기, FeedSummary 계약만 아는 애플리케이션 계층.",
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 295,
|
||||
"end_line": 295
|
||||
"start_line": 321,
|
||||
"end_line": 324
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
@@ -74,12 +74,12 @@
|
||||
"description": "상위 계층과 구체 조회 전략을 분리하는 조회 포트.",
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 295,
|
||||
"end_line": 295
|
||||
"start_line": 323,
|
||||
"end_line": 325
|
||||
},
|
||||
{
|
||||
"start_line": 299,
|
||||
"end_line": 299
|
||||
"start_line": 329,
|
||||
"end_line": 330
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
@@ -97,12 +97,12 @@
|
||||
],
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 295,
|
||||
"end_line": 295
|
||||
"start_line": 323,
|
||||
"end_line": 325
|
||||
},
|
||||
{
|
||||
"start_line": 299,
|
||||
"end_line": 299
|
||||
"start_line": 329,
|
||||
"end_line": 330
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
@@ -118,8 +118,8 @@
|
||||
"emphasis": "primary",
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 295,
|
||||
"end_line": 295
|
||||
"start_line": 323,
|
||||
"end_line": 324
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
@@ -132,8 +132,8 @@
|
||||
"kind": "dependency",
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 295,
|
||||
"end_line": 295
|
||||
"start_line": 323,
|
||||
"end_line": 324
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
@@ -146,8 +146,8 @@
|
||||
"kind": "dependency",
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 295,
|
||||
"end_line": 295
|
||||
"start_line": 324,
|
||||
"end_line": 325
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
|
||||
Reference in New Issue
Block a user