Использование PostSharp Я могу входить в AOP-стиль (используя атрибуты) статические методы или методы классов, а не реализовывать интерфейсы. Могу ли я сделать это с Unity - регистрация в стиле AOP без интерфейсов?Unity logging static methods Тип AOP или без интерфейса
ответ
Вы не можете сделать это с Unity. Unity - это контейнер для инъекций зависимостей, и вся идея заключается в том, чтобы соответствовать Dependency Inversion Principle, что в основном означает, что вы программируете абстракцию, а не реализацию. Программирование абстракции означает, что вы используете абстрактные типы или интерфейсы, и они не могут быть статичными!
Некоторые люди видят в этом, почему DI плохо, и инструменты, такие как PostSharp, являются святым граалем в разработке программного обеспечения, но если вы напишете свое полное приложение с использованием статических классов, у вас будет гораздо больше проблем, чем такие инструменты, как PostSharp, вы. Все начинается с хорошего программного обеспечения, и SOLID principles дают важные рекомендации для этого.
Если вы играете по правилам ТВЕРДЫХ принципов, вы автоматически получаете классы экземпляров, do one thing, use Dependency Injection, являются easy to extend и скрыты за thin interfaces. Это приводит к программному обеспечению, которое можно тестировать, обслуживать и настраивать. И когда вы разработали систему таким образом, вряд ли когда-либо возникнет необходимость вернуться к таким инструментам, как PostSharp. Легко применять АОП к системам, которые разработаны вокруг принципов SOLID. Также рассмотрите эти два вопроса (here и here).
- 1. GarbageCollector, Dispose или static Methods?
- 2. Java static methods pro & cons
- 3. public vs public static Methods
- 4. public static methods return issues
- 5. rails application design: static methods
- 6. Unity 3D C# Strings.XML Methods
- 7. Получить тип интерфейса с MS Unity
- 8. ActionScript 3 - Static Versus Instance Methods
- 9. Intercept Unity 2.0 HandlerAttribute без интерфейса
- 10. Unity Static Property Injection
- 11. JNAerator BridJ runtime static methods memory экземпляра
- 12. Clojure vars и Java static methods
- 13. C# AOP Пользовательский атрибут Unity
- 14. Unity Static Factory Extension
- 15. Unity IOC Static Factory
- 16. Static array unity
- 17. Java generics + static factory methods = [panic]
- 18. Зачем использовать Static Intent Methods в Android?
- 19. mule logging-interceptor С пружиной AOP
- 20. Создать журнал с Unity и AOP
- 21. Кнопки в Unity, без использования пользовательского интерфейса?
- 22. Xamarin Static Analysis with Unity
- 23. Динамический тип Static UITableViewCell
- 24. Unity 2.1 - Разрешить общий тип от не общего интерфейса?
- 25. Прокси-сервер Spring AOP и реализация интерфейса
- 26. "public static" или "static public"?
- 27. Регистрация интерфейса Unity/StructureMap
- 28. ctags перейти к java static methods in vim
- 29. Mocking static methods in C# using Rhino Mock
- 30. Проблемы с выражением Pointcut в Logging, Spring AOP с log4j