PureMVC
PureMVC![]() | |
원저작자 | 클리포드 홀 |
---|---|
개발자 | Futurescale, Inc. 및 PureMVC 커뮤니티 |
안정된 릴리스 | 2.0.4 / 2008년8월 14일 ( |
기입처 | ActionScript, C++, C#, ColdFusion, Dart, haXe, Java, JavaScript, Objective-C, Perl, PHP, Python, Ruby, Swift, TypeScript |
운영 체제 | 크로스 플랫폼 |
유형 | 프레임워크 |
면허증. | 3-Clause BSD |
웹 사이트 | puremvc![]() |
PureMVC는 잘 확립된 모델 뷰 컨트롤러(MVC) 설계 패턴을 기반으로 애플리케이션을 만드는 프레임워크입니다.무료 오픈 소스 프레임워크는 원래 Adobe Flex, Flash 및 AIR에서 사용하기 위해 ActionScript 3 언어로 구현되었으며, 이후 거의 모든 주요 웹 개발 플랫폼에 이식되었습니다.
실장
표준 버전
모델, 뷰 및 컨트롤러 애플리케이션 계층은 3개의 싱글톤(클래스는 1개만 생성할 수 있음)으로 표시됩니다.
MVC 싱글톤은 각각 프록시, 중개자 및 명령의 명명된 캐시를 유지합니다.싱글톤이기도 한 파사드는 애플리케이션 전체의 통신을 위한 단일 인터페이스를 제공합니다.이 네 개의 싱글톤을 핵심 액터라고 부릅니다.
- 로컬이든 원격이든 데이터 개체는 프록시에 의해 관리됩니다.
- 사용자 인터페이스를 구성하는 보기 구성 요소는 중재자에 의해 관리됩니다.
- 명령은 프록시, 중재자와 상호 작용하거나 다른 명령을 트리거하거나 실행할 수 있습니다.
모든 배우들은 모델, 뷰 및 컨트롤러와 직접 작업하지 않고 파사드를 통해 서로를 발견하고 소통합니다.
또한 PureMVC는 게시/구독 스타일의 옵서버 알림 체계를 도입합니다.이것에 의해, 시스템의 액터간의 비동기, 이벤트 구동 통신이 가능하게 됩니다.또, 서브 스크라이버가 퍼블리셔에 대해서 직접 알 필요가 없기 때문에, 이러한 액터간의 느슨한 결합도 촉진됩니다.
Standard Version Reference Implementation은 ActionScript 3에 기재되어 있습니다.
멀티코어 버전
이 변형은 모듈러 프로그래밍을 지원하므로 각각 독립적인 Pure를 가진 독립 프로그램 모듈을 사용할 수 있습니다.MVC '코어'코어(Core)는 표준 프레임워크(모델, 뷰, 컨트롤러 및 파사드)에서 사용되는 네 가지 주요 요소 집합입니다.이 프레임워크 버전은 싱글톤 대신 멀티톤을 사용합니다.Multiton은 클래스의 단일 인스턴스를 저장하는 대신 인스턴스 맵을 저장합니다.각 코어는 연관된 멀티온 키에 의해 참조됩니다.
이 프레임워크의 MultiCore 버전은 런타임에 많은 기능을 로드 및 언로드해야 하는 더욱 야심찬 리치 인터넷 애플리케이션의 세계에서 모듈러 지원이 널리 필요하기 때문에 개발되었습니다.예를 들어 PDA 응용 프로그램은 작업 목록, 캘린더, 이메일, 연락처 및 파일을 관리하기 위해 모듈을 동적으로 로드 및 언로드해야 할 수 있습니다."멀티코어" 버전은 장치 테스트를 용이하게 합니다.
MultiCore Version Reference Implementation은 ActionScript 3에 기재되어 있습니다.
포트
액티브한 PureMVC 포트가 몇 개 있습니다.각각 PureMVC 커뮤니티 멤버에 의해 제공되고 지원되는 다양한 프로그래밍 언어에 대한 구현입니다.각 포트는 대부분의 주요 모바일, 브라우저, 데스크톱 및 서버 환경을 망라하는 하나 이상의 타깃 개발 플랫폼을 지원합니다.
언어 | 대상 | 표준 버전 | 멀티코어 버전 |
---|---|---|---|
액션 스크립트 2 | Flex 1.5, Flash 8, Flash Lite | [1] | |
액션 스크립트 3 | Flex 2, Flex 3, Flex 4, Flash 9+, AIR(모든 버전)오리지널 PureMVC 레퍼런스 실장 | [2] | [3] |
C++ | 스레드 세이프.컴파일 대상: MSVC 8.0/9.0/10.0, MinGW 3.4.5, GNU G++ 4.0, 엠바카데로 C++ 6.21 (MFC, WTL, wxWidgets, Qt...) | [4] | |
C# | .NET Core, Windows 10, Xamarin, Xbox, Kinect, HoloLens, Surface Neo | [5] | [6] |
콜드퓨전 | 콜드퓨전 8 | [7] | |
다트 | 구글 다트 | [8] | |
가세요 | 구글 고 | [9] | [10] |
Haxe | JavaScript, Flash 8, Flash 9, Neko VM, 해시링크 VM, PHP, Lua, Python, Actionscript 3, C++, Java, C#, NodeJS [11] | [12] | [13] |
자바 | Java Mobile, Standard 및 Enterprise Edition(ME, SE, EE), JavaFX, Servlet, Applet 및 GWT | [14] | [15] |
자바스크립트 | 브라우저 뉴트럴네이티브 JavaScript MultiCore 포트는 다른 모든 프레임워크에서 작동합니다(이전 타사 종속 포트는 사용되지 않습니다). | [16] | |
코틀린 | 안드로이드 | [17] | |
목표-C | Apple iPhone 및 Mac | [18] | |
펄 | Perl 5 | [19] | [20] |
PHP | PHP 5 | [21] | [22] |
파이썬 | Python 2.5 for wxPython, Google App Engine, Pyjs [23] | [24] | [25] |
루비 | 루비 | [26] | |
재빠르다 | 재빠르다 | [27] | [28] |
타입 스크립트 | 타입 스크립트 | [29] | [30] |