관리 확장성 프레임워크
Managed Extensibility Framework![]() | |
| 개발자 | 마이크로소프트 |
|---|---|
| 안정적 해제 | .NET Framework 4.0 / 2010년 4월 12일 V1; 전 |
| 릴리스 미리 보기 | V2 Preview 5 / 2011년 12월 19일; 전 |
| 리포지토리 | github |
| 기록 위치 | .NET 언어 |
| 운영 체제 | 창문들 |
| 플랫폼 | .NET Framework |
| 유형 | 웹 응용 프로그램 프레임워크 |
| 면허증 | MIT 라이선스[1] |
| 웹사이트 | docs |
MEF(Managed Extensibility Framework)는 의 구성 요소 입니다.가볍고 확장 가능한 애플리케이션을 만드는 것을 목표로 하는 NET Framework 4.0.그것은 허락하는 것을 목표로 한다.구성이 필요 없는 확장을 검색하고 사용할 수 있는 NET 애플리케이션 개발자.그것은 또한 확장 개발자들이 코드를 쉽게 캡슐화하고 취약한 하드 의존성을 피하도록 하는 것을 목표로 한다.더욱이, 그것은 애플리케이션 전체에 걸쳐 확장이 재사용될 수 있도록 하는 것을 목표로 한다.MEF는 의 일부로 도입되었다.NET 4.0 및 실버라이트 4.
개요
MEF는 런타임 확장성 문제를 해결하는 것을 목표로 한다.MEF 없이 플러그인 모델을 지원하려는 모든 애플리케이션은 처음부터 자체 인프라를 구축해야 한다.이러한 플러그인은 종종 애플리케이션별로 다르며 여러 구현에 걸쳐 재사용될 수 없다.
- MEF는 호스트 애플리케이션이 자신을 노출시키고 외부 확장을 소비할 수 있는 표준 방법을 제공하는 것을 목표로 한다.그 성격상 확장자는 다른 애플리케이션 간에 재사용될 수 있다.그러나 확장은 여전히 애플리케이션별로 구현될 수 있다.확장 자체는 서로 의존할 수 있으며 MEF는 개발자가 수동으로 확장하는 것을 방지하여 올바른 순서로 연결되도록 하는 것을 목표로 한다.
- MEF는 응용 프로그램이 사용 가능한 확장을 찾고 로드할 수 있는 일련의 검색 접근 방식을 제공한다.
- MEF는 풍부한 질의와 필터링을 용이하게 하기 위한 추가 메타데이터로 확장 태그를 지정할 수 있다.
디자인
대략적으로, MEF의 코어는 카탈로그와 CompositionContainer로 구성되어 있다.카탈로그는 확장을 발견하고 컨테이너가 생성 및 종속성을 충족시키는 역할을 한다.
- MEF의 1등 시민은 ComposablePart 클래스다.복합 부품은 하나 이상의 Exports를 제공하며, 하나 이상의 외부 제공 서비스 또는 Import에 의존할 수도 있다.또한 복합 부품은 주어진 유형의 객체 인스턴스(기본 MEF 구현 시)가 될 수 있는 인스턴스를 관리한다.[clarification needed]그러나 MEF는 확장 가능하며 수입/수출 계약을 준수하는 한 추가적인 ComposablePart 구현이 제공될 수 있다.
- 수출입은 각각 계약이 있다.계약은 수출과 수입의 가교다.수출 계약은 그것의 발견을 필터링하는 데 사용될 수 있는 추가 메타데이터로 구성될 수 있다.예를 들어 수출이 제공하는 특정 기능을 나타낼 수 있다.
- MEF의 컨테이너는 복합 부품에 접근하기 위해 카탈로그와 상호 작용한다.컨테이너 자체가 부품의 의존성을 해결하고 외부로 수출을 노출한다.합성 가능한 부품 인스턴스를 용기에 직접 추가할 수 있다.
- 카탈로그에 의해 반환되는 ComposablePart는 애플리케이션의 확장일 가능성이 높다.호스트 애플리케이션이 제공하는 구성 요소에 따라 가져오기(종속성)가 있을 수 있으며 다른 구성 요소를 내보낼 가능성이 높다.
- 기본 MEF 복합 부품 구현은 속성 기반 메타데이터를 사용하여 수출 및 수입을 선언한다.이를 통해 MEF는 발견을 통해 어떤 부품, 수입, 수출이 가능한지 판단할 수 있다.
참조
외부 링크
| 위키북스는 의 주제에 관한 책을 가지고 있다.NET 개발 재단 |
