-
Notifications
You must be signed in to change notification settings - Fork 164
HuskyFramework 개요
Husky 프레임워크는 JavaScript 언어로 작성된 메시지 전달 인터페이스(Message Passing Interface)이다.
웹 애플리케이션을 병렬 프로그래밍할 때 Husky 프레임워크를 사용한다.
Husky 프레임워크 구성 요소에는 'Husky 코어'와 'Husky 플러그 인'이 있으며 Husky 프레임워크를 사용하여 웹 애플리케이션을 작성한 구조는 다음 그림과 같다.
Husky 코어는 Husky 프레임워크에서 제공하는 클래스이며, 웹 애플리케이션 외부에서 전달된 메시지나 웹 애플리케이션 내부의 플러그 인에서 발생하는 메시지를 등록된 모든 Husky 플러그 인에 전달한다. Husky 코어는 Husky 플러그 인을 등록하는 기능과 메시지 전달에 필요한 기능만 가지고 있다.
Husky 플러그 인은 웹 애플리케이션의 기능을 구현한 클래스의 집합이며, Husky 코어가 전송하는 메시지를 수선한다. Husky 플러그 인은 'Husky 코어 플러그 인'과 '사용자 정의 플러그 인'으로 구성된다.
Husky 코어 플러그 인은 자주 사용하는 기능을 미리 정의한 메시지로 처리할 수 있게 작성한 클래스이며, Husky 프레임워크에서 기본으로 제공된다. Husky 코어에 프로퍼티를 추가하거나 브라우저 이벤트에 특정 메시지를 발생하도록 할 때 Husky 코어 플러그 인을 사용한다.
사용자 정의 플러그 인은 필요한 기능을 지정한 메시지로 처리할 수 있도록 개발자가 직접 작성한 클래스이다.
메시지는 웹 애플리케이션 외부에서 발생하거나 웹 애플리케이션 내부의 Husky 플러그 인에서 발생할 수 있으며, 메시지가 전달될 때 항상 Husky 코어를 통과한다. 메시지 발생 위치에 따라 2가지 형태로 메시지가 전달된다.
- 외부에서 발생한 메시지를 Husky 코어에 전송하면 Husky 코어에 등록된 모든 Husky 플러그 인으로 메시지를 전송한다.
- 내부 Husky 플러그 인이 발생시킨 메시지는 Husky 코어에 전달되고 다시 Husky 코어에 등록된 모든 Husky 플러그 인으로 메시지를 전송한다. 다음 그림은 Husky 프레임워크의 메시지 전달 구조이다.