2010-01-09 5 views
1

Мне интересно, что там хорошего для AOP/сквозного в .Net, по линиям AspectJ. Я вижу, что у Microsoft есть Policy Injection Application Block; нибудь другой хороший материал там я должен взглянуть?Программирование АОП в .Net?

+0

Посмотрите на этот список: http://en.wikipedia.org/wiki/Aspect-oriented_programming#cite_note-5 –

ответ

4

PostSharp, вероятно, самый популярный вариант, хотя я считаю, что Sprint.NET довольно распространен.

+0

Вот ссылка на мои заметки о презентации AOP/PostSharp Майкла Холла, если кому-то интересно: http://www.truewill.net/iacodecamp2009/hall.htm – TrueWill

1

Я знаю PostSharp, который, кажется, делает много AOP-вещей, которые действительно хорошо используют атрибуты.

2

Я использую Microsoft Unity, но есть также StructureMap, Spring.NET, Castle Windsor и, самый популярный, PostSharp.

+0

PostSharp - это, безусловно, AOP, но я бы назвал Unity и StructureMap IoC Container framework. Виндзор и весна делают IoC и многое другое, я думаю. – TrueWill

+0

Оба Unity StructureMap имеют возможности для AOP (см. Ссылки, которые я привел для некоторых примеров). В зависимости от проблемы, которую нужно решить, они являются жизнеспособными решениями. – jason

1

Spring.Net имеет структуру АОП, которая может использоваться с или без рамок IoC в Spring. Если вы также ищете структуру IoC, Spring.Net делает убедительный случай и является бесплатным и открытым исходным кодом.

Еще один плюс для Spring.Net IMO заключается в том, что документация и поддержка форума действительно превосходны. Один отрицательный комментарий о Spring.Net, который я видел несколько раз, заключается в том, что конфигурация XML многословна и ее трудно читать, что верно. Это, по крайней мере, непротиворечиво, так что как только вы узнаете, как это работает для одного блока, вы можете легко применить его к другим блокам.

2

Давайте не забудем LinFU. Скотт Гензельман сделал отличный interview about it, включая множество основ АОП.

0

Interception расширение для Microsoft Unity дает вам AOP. Кроме того, см. Policy Injection как одно из привычных способов перехвата.

В этом наборе Hands-on Labs содержатся хорошие примеры и учебные пособия.

Смежные вопросы