---
title: 시스템 아키텍처와 관심사 분리 (Separation of Concerns)
category: Software Architecture
tags: [Architecture, SoC, Modular Design, Design Pattern]
created: 2026-04-20
---

# 시스템 아키텍처와 관심사 분리 (SoC)

## 🎯 개요 (Overview)
복잡한 소프트웨어 시스템을 역할별로 구분된 독립적인 모듈로 나누어, 유지보수성과 확장성을 극대화하는 설계 철학입니다.

## 🚀 계층구조 예시 (Layering Example)
1.  **Logic Engine**: 순수 비즈니스 로직 및 규칙 수행 (예: `gameWorker.js`)
2.  **State Manager**: 데이터의 중앙 집중 처리 (예: `TetrisGame.jsx`)
3.  **View Layer**: 사용자 인터페이스 표현 및 렌더링 (예: React Components)

## 💡 레슨 런 (Lesson Learned)
> [!IMPORTANT]
> **"코드의 경계가 명확할 때 시스템은 비로소 건강해진다."**
> 기능을 추가할 때 기존 코드를 수정하기보다 새로운 모듈을 덧붙일 수 있는 구조를 고민해야 합니다.

## 🔗 연결된 지식
- [[WebWorker_Performance]]
- [[Single_Source_of_Truth]]
