--- id: ARCH-PAT-001 category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" confidence_score: 1.0 tags: [software-engineering, architecture, design-patterns, system-design] last_reinforced: 2026-04-26 --- # [[Software Architecture Patterns (์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > "๋ณต์žกํ•œ ์‹œ์Šคํ…œ์˜ ๊ตฌ์กฐ๋ฅผ ์ •ํ˜•ํ™”๋œ ํ‹€๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ๋ณ€๊ฒฝ์— ๊ฐ•ํ•œ ์ง€๋„๋ฅผ ๊ทธ๋ ค๋ผ" โ€” ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ์™€ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ ๋ฐฉ์‹์„ ์ •์˜ํ•œ ๊ฒ€์ฆ๋œ ์„ค๊ณ„ ์ฒญ์‚ฌ์ง„. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **์ถ”์ถœ๋œ ํŒจํ„ด:** ์‹œ์Šคํ…œ์˜ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ์ œ์•ฝ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์„ ๋ฐฐ์น˜ํ•˜๊ณ  ํ†ต์‹  ๋ฐฉ์‹์„ ๊ฒฐ์ •ํ•˜์—ฌ, ์œ ์ง€๋ณด์ˆ˜์„ฑ, ํ™•์žฅ์„ฑ, ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๊ตฌ์กฐ ์„ค๊ณ„ ํŒจํ„ด. - **์ฃผ์š” ํŒจํ„ด:** - **Layered (N-tier) Architecture:** ๊ธฐ๋Šฅ์„ ๊ด€์‹ฌ์‚ฌ์— ๋”ฐ๋ผ ๊ณ„์ธต๋ณ„๋กœ ๋ถ„๋ฆฌ (์˜ˆ: Presentation, Business, Data layers). ๊ฐ€์žฅ ๋ณดํŽธ์ ์ž„. - **Microservices Architecture (MSA):** ์‹œ์Šคํ…œ์„ ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์ž‘์€ ์„œ๋น„์Šค ๋‹จ์œ„๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ์œ ์—ฐ์„ฑ ๊ทน๋Œ€ํ™”. - **Event-Driven Architecture:** ์ƒํƒœ ๋ณ€ํ™”(Event)๋ฅผ ๋ฐœํ–‰/๊ตฌ๋…(Pub/Sub) ๋ชจ๋ธ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ์‹œ์Šคํ…œ ๊ฐ„ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถค. - **Hexagonal (Ports & Adapters):** ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์™ธ๋ถ€ ๊ธฐ์ˆ (DB, UI)๋กœ๋ถ€ํ„ฐ ๋…๋ฆฝ์‹œ์ผœ ํ…Œ์ŠคํŠธ์™€ ๊ต์ฒด๊ฐ€ ์šฉ์ดํ•˜๊ฒŒ ์„ค๊ณ„. - **Microkernel (Plug-in):** ํ•ต์‹ฌ ์ฝ”์–ด์™€ ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๋™์ ์ธ ๊ธฐ๋Šฅ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์— ๋‹ด๋˜ ๋ชจ๋†€๋ฆฌ์‹(Monolithic) ์•„ํ‚คํ…์ฒ˜์—์„œ, ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ์™€ ์œ ์—ฐ์„ฑ์„ ์ค‘์‹œํ•˜๋Š” MSA ๋ฐ ์„œ๋ฒ„๋ฆฌ์Šค ํ™˜๊ฒฝ์œผ๋กœ ํŒจ๋Ÿฌ๋‹ค์ž„์ด ์ด๋™. - **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ํ•ต์‹ฌ ์—”์ง„๊ณผ ๊ฐœ๋ณ„ ์—์ด์ „ํŠธ ์Šคํ‚ฌ์„ ๋ถ„๋ฆฌํ•˜๋Š” '๋งˆ์ดํฌ๋กœ์ปค๋„' ๋ฐ '์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜' ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ๋กœ ์ฑ„ํƒํ•˜์—ฌ ๋†’์€ ํ™•์žฅ์„ฑ์„ ํ™•๋ณดํ•จ. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - [[Domain-Driven-Design]], [[Separation-of-Concerns]], [[Microservices]], [[Design-Patterns]] - **Raw Source:** [[10_Wiki/Topics/AI/Software-Architecture-Patterns.md]]