PureMVC

PureMVC
PureMVC
PureMVC-Icon.jpg
원저작자클리포드 홀
개발자Futurescale, Inc. 및 PureMVC 커뮤니티
안정된 릴리스
2.0.4 / 2008년8월 14일 (2008-08-14)
기입처ActionScript, C++, C#, ColdFusion, Dart, haXe, Java, JavaScript, Objective-C, Perl, PHP, Python, Ruby, Swift, TypeScript
운영 체제크로스 플랫폼
유형프레임워크
면허증.3-Clause BSD
웹 사이트puremvc.org Edit this on Wikidata

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]

외부 링크