LCHH 아키텍처

LCHH Architecture

Loader-Content-Handler-Handler 또는 "LCH"는 HTTP 요청-응답 사이클3계층구조를 따라 면밀히 모델링된 웹 프로그래밍 아키텍처입니다.

이름에서 알 수 있듯이 LCHH는 다음 4가지 주요 구현 컴포넌트를 정의합니다.

  • 로더는 나중에 콘텐츠를 주입하기 위해 부분 업데이트 영역을 식별하는 ID의 DIV 컨테이너입니다.
  • 정적 정보와 인터랙티브 요소를 모두 포함하는 콘텐츠('트리거'라고도 함)
  • 버튼 클릭 등 다양한 트리거 이벤트를 처리하는 클라이언트 측 핸들러
  • 클라이언트측 핸들러가 송신하는AJAX 요구에 응답하는 서버측 핸들러.서버측 핸들러는 일반적으로 갱신된 내용을 앞에서 설명한 로더에 피기백하기 전에 데이터베이스 CRUD 작업을 수행합니다.
LCHH 아키텍처 흐름 및 파일 구성 예시

XHR 주입과의 비교

LCHH는 XMLHttpRequest의 responseText를 사용하여 내부 라우터를 대체합니다.타겟 DIV 컨테이너의 HTML 값.이것은 일반적인 AJAX 패턴입니다.단, XHR 주입만으로는 LCHH의 합계가 되지 않습니다.LCHH를 처음 로드할 때 "Content"는 빈 컨테이너를 로드한 후 다른 AJAX 라운드 트립으로 컨테이너를 채우는 것이 아니라 서버 측에서 즉시 생성됩니다.데이터베이스 변경 후 갱신된 콘텐츠를 피기백하는 것도 LCHH의 특징입니다.

LCHH는 코드를 다음 4가지 카테고리로 분류합니다.

  • 로더 및 클라이언트 측 핸들러(JavaScript 함수)는 URI에서 직접 액세스할 수 있는 "사용자 대면" 파일에 저장됩니다.
  • 사용자용 파일에 포함할 수 있는 서버측 스크립트.이 스크립트는 "콘텐츠"를 출력합니다.
  • 다양한 AJAX 콜을 호출하기 위한 단일 콜포인트 역할을 하는 "루팅 스크립트"
  • 서버측 핸들러로, 통상은 「포함」또는 「icl」서브 디렉토리에 보존됩니다.대부분의 경우 각 핸들러는 개별 스크립트파일에 실장됩니다.

레퍼런스

  • "LCHH vs. MVC". October 10, 2013. Retrieved April 28, 2016.
  • Dong, Schien (2015), There is No AJAX - The Art of Blending DHTML, PHP and MySQL (7th ed.), pp. 338–343, ISBN 978-1435774810