2009-10-07 19 views
8

Trong các dự án khác nhau mà tôi đã làm việc, chúng tôi đã phải sử dụng một số khung tiêm AOP hoặc phụ thuộc.Khung định hướng khía cạnh tốt nhất cho các tính năng/biểu diễn xây dựng trong .net

Chúng tôi đã sử dụng Enterprise LIbrary, Unity và PostSharp.

Hiện tại, Postsharp là lựa chọn tốt nhất của tôi khi nói đến tính linh hoạt tôi vượt qua cách tôi tạo ra các khía cạnh của mình.

Vấn đề duy nhất là thời gian xây dựng cần thiết khi PostSharp được cài đặt. Người phát triển của tôi không muốn trả thuế thời gian ngay cả khi liên quan đến tất cả các vị thần đến từ PostSharp.

Vì vậy, câu hỏi của tôi là: Bạn nên sử dụng khung AOP nào cho thời gian xây dựng nhanh và tính fonctionnality tuyệt vời?

Cảm ơn, câu trả lời của bạn được đánh giá cao rất nhiều,

Patrick

Trả lời

7

PostSharp là một trình biên dịch tĩnh cơ bản đầy đủ tính năng. Điều đó có nghĩa là việc dệt diễn ra trong quá trình xây dựng, trong một bước sau khi biên dịch. Và chắc chắn, nó có thể mất một thời gian. (Hãy chắc chắn để đọc thông báo Gael về runtime performance improvementsbuild time performance improvements sẽ đi kèm với phiên bản 2.0)

Nếu bạn không muốn bất kỳ thời gian xây dựng trên cao, chỉ có một giải pháp: sử dụng máy dệt động. Trong .NET, có một số khung công tác chặn, như Castle.DynamicProxy hoặc Linfu.DynamicProxy. Họ tạo proxy khi chạy. Hãy nhận biết rằng các khuôn khổ đề tài không thể làm nhiều như một khung công tác AOP tĩnh như PostSharp có thể, và cũng có thể thực hiện ít hiệu quả hơn trong thời gian chạy. Rất thường xuyên, IoC khuôn khổ cung cấp khả năng đánh chặn động (Spring.NET, Unity, Windsor, vv)

Một giải pháp khác là nhìn vào thợ dệt lai, mà chỉ dệt gia nhập điểm trong quá trình xây dựng, một cách tĩnh, và sau đó cho phép bạn áp dụng khía cạnh động trong thời gian chạy. Linfu.AOP, sử dụng Mono.Cecil làm phụ trợ, hoạt động như thế.

0

Spring.NET không sử dụng dệt và nó được dựa trên một khuôn khổ Java aop rất ổn định. Địa chỉ dự án của Here.

Các vấn đề liên quan