내재적 논리 III.
Source: Dev.to
선언형 vs 명령형, 내재된 논리
제가 계속 되돌아보는 디자인 진리가 있습니다: 형태 자체에 규칙이 담겨 있다.
구조 자체가 어떻게 사용되어야 하는지를 알려줍니다. 이것은 의견이 아니라 결과입니다.
간단한 예시
- 트리는 부모/자식 관계로 생각하도록 강요합니다.
- 리스트는 순서로 생각하도록 강요합니다.
- 그래프는 연결으로 생각하도록 강요합니다.
- 런타임은 동작과 상태로 생각하도록 강요합니다.
이것은 철학이 아니라 엔지니어링입니다. 모든 구조는 고유한 논리를 가지고 있으며, 자연스럽게 작동하려는 방식을 가지고 있습니다. 이것은 단순한 선호도(예: 탭 vs 스페이스)가 아니라 서로 다른 구조의 고유 논리입니다.
우리는 종종 선언형 코드를 “원하는 것을 기술한다”고 말하지만, 그 정의는 오해를 불러일으킵니다. 선언형은 기술하거나 서술하거나 설명하는 것이 아니라 결과가 데이터에 내재되어 있고, 동작 순서가 아니라 구조에 정의되는 것을 의미합니다.
선언형 시스템에서는:
- ✅ 데이터가 의도를 담고 있다
- ✅ 렌더러가 이를 해석한다
- ✅ 결과가 구조에서 자연스럽게 도출된다
예시
{ type: "Button", props: { children: "OK" } }