문제

APPESS와 PostSharp간에 AOP 기능이 무엇인지 아는 사람이 있습니까 (예, 다른 언어와 플랫폼에 대한 것이라는 것을 알고 있습니까?)

나는 PostSharp가 그 Postsharp가 할 수없는 것을 이해하려고 노력하고 있습니다.

도움이 되었습니까?

해결책

PostSharp 2.0은 PostShArp 1.5보다 SagleJ에 훨씬 가깝습니다. PostShArp 1.5와 Spring AOP의 비교는 정당화되었지만 PostSharp 2.0에서는 더 이상 아닙니다.

그러나 접근 방식에는 여전히 큰 차이가 있습니다.

  1. 포인트 컷에 대한 접근 방식은 근본적으로 다릅니다. AnalpectJ는 복잡한 포인트 컷 언어를 제공합니다. PostSharp는 기본 선언 포인트 컷 시스템을 제공합니다 하지만 필수 포인트 컷을 개발할 수 있으므로 컴파일 시간에 포인트 컷을 평가하는 코드 (일반적으로 System.Reflection)를 작성할 수 있습니다. 따라서 PostSharp는 PointCut 언어를 갖는 대신 Plain C# 또는 Linq를 지원합니다.

  2. 실제로 조건부 포인트 컷 (cflow)이 없습니다.

  3. PostSharp는 이벤트 및 속성과 같은 고차의 의미론을 지원합니다. 내 아는 바에 따르면, (Java Afaik에는 사건이나 재산이 없기 때문에).

  4. 포스트 샤프 측면은 일반적으로 빌드 타임에 인스턴스화되고 초기화 된 다음 조립으로 직렬화 된 후 런타임에 실행되도록 실행됩니다. 이를 통해 측면이 빌드 타임에 "초기화"될 수 있으므로 런타임 성능이 향상됩니다. 또한 빌드 시간에 임의로 복잡한 논리를 실행할 수 있습니다 (일반적으로 초기화, 포인트 컷 평가, JoinPoint 검증).

  5. PostSharp는 측면 구성을 실제로 지원합니다. 즉, 여러 측면이나 조언을 예측 방식으로 동일한 조인 포인트에 적용 할 수 있습니다. PostSharp는 여러 종자 공급 업체가 서로에 대해 알지 못하는 다중 공급 업체 시나리오를 위해 설계되었습니다. 측면 개발자/공급 업체가 선언적으로 순서 제약, 요구 사항 및 충돌을 지정할 수있는 복잡한 종속성 시스템이 있습니다.

버전 2.0에서 PostSharp에는 Eclipse 용 "AJDT"의 기능을 부분적으로 다루는 IDE 툴링이 제공됩니다.

다른 팁

PostSharp의 문서에서 :http://doc.postsharp.org/1.5/##fostsharp.hxs/userguide/laos/aspectkinds/overview.html

지원되는 유형의 조인 포인트 :http://doc.postsharp.org/1.5/##fostsharp.hxs/userguide/corelibrary/codeweaver/overview.html

AnalpectJ는 조인 포인트가 원하는 작업을 수행하기 위해 결정적으로 더 복잡 할 수 있으므로 더 많은 유연성을 제공합니다.

예를 들어, cflow는 PostSharp로 수행 할 수없는 것으로 보입니다.

사용하기 쉽게하기 위해 AOP의 스트리핑 버전이라는 점에서 봄과 같습니다.

업데이트 : 완전히 업데이트되었다고 생각하지는 않지만 측면이 무엇을 지원하는지에 대한 좋은 생각입니다.http://www.eclipse.org/aspectj/doc/releident/progguide/index.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top