본문으로 이동

조합 원리

컴포넌트는 구조, 독립된 상태, 명시적인 규칙과 실행 환경 명령을 조합합니다. 하나의 사실을 한 모델이 소유하므로 구조 변경과 상태 변경의 경계가 분명하게 드러납니다.

목록 상자

구조
순서
상태
현재 위치 + 선택
규칙
사용 가능 여부 + 이동에 따른 선택

슬라이더

구조
범위
상태
단계값
규칙
증감 간격 + 큰 폭 이동

달력

구조
격자
상태
현재 위치 + 선택
규칙
날짜 계산 + 사용 가능 여부

계층 보기

구조
계층
상태
펼침 + 현재 위치 + 선택
규칙
보이는 항목 계산

콤보박스

구조
순서 | 격자 | 계층
상태
텍스트 + 팝업 + 현재 위치 + 선택
규칙
검색 + 확정

계층 격자

구조
계층 + 격자
상태
펼침 + 현재 위치 + 선택 + 편집 상태
규칙
행과 칸 연결

조합 방법

방법
서로 독립된 구조나 상태를 함께 둡니다.
한 시점에 하나만 성립하는 방식 가운데 현재 값을 고릅니다.
제한법칙을 더해 허용할 값을 좁힙니다.
투영기준 상태에서 관찰 가능한 화면용 결과를 계산합니다.
매개변수화동작 규칙이나 기능을 명시적으로 전달합니다.
트랜잭션하위 상태 변화를 계산한 뒤 한꺼번에 반영합니다.
변경 차수오래된 입력을 순서가 있는 상태 번호로 거부합니다.

목록 상자 예시

text
순서
× 현재 위치
× 선택
× 사용 가능 여부
× 이동에 따른 선택 규칙
× 포커스 명령

순서는 항목의 배치를 소유하고, 현재 위치는 지금 탐색 중인 항목을 소유합니다. 선택은 고른 식별자를 소유합니다. 현재 위치를 옮길 때 선택도 바꿀지는 규칙이 결정하고, 실제 포커스 이동은 실행 환경이 수행합니다.

콤보박스 예시

text
텍스트
× 팝업 상태
× (순서 | 격자 | 계층)
× 현재 위치
× 선택
× 검색과 확정 규칙
× 포커스와 확정 명령

한글 조합 입력은 명시적으로 확정하거나 취소하기 전까지 텍스트의 조합 상태로 남습니다. 후보를 고를 때는 확정된 검색어와 조합 중인 글자를 각각의 값으로 처리합니다.

계층 격자 예시

text
계층
× 격자 좌표
× 펼침
× 현재 위치
× 선택
× 편집 상태

조합 모델은 행의 식별자와 칸 좌표 사이의 연결을 소유합니다. 계층과 격자는 각자의 구조와 법칙을 유지한 채 연결됩니다.

MIT 라이선스로 배포합니다.