Как стать автором
Обновить

Unity Auto Registration

.NET

Unity Auto Registration


Unity Auto Registration расширяет возможности Unity контейнера, предоставляя fluent interface для автоматической регистрации типов по установленным правилам. Используя всего несколько строк кода вы можете отсканировать указанную сборку и зарегистрировать все соответствующие указанным правилам типы.


В качестве правил вы можете использовать предикаты (Predicate), лямбда выражения и вызовы методов. If хелпер предоставляет все типовые варианты для описания условий.

Ниже представлен пример конфигурации с помощью Unity Auto Registration:

  1. var container = new UnityContainer();
  2. container
  3. .ConfigureAutoRegistration()
  4. .LoadAssemblyFrom("Plugin.dll")
  5. .IncludeAllLoadedAssemblies()
  6. .ExcludeSystemAssemblies()
  7. .ExcludeAssemblies(a => a.GetName().FullName.Contains("Test"))
  8. .Include(If.Implements<ILogger>, Then.Register().UsingPerCallMode())
  9. .Include(If.ImplementsITypeName, Then.Register().WithTypeName())
  10. .Include(If.Implements<ICustomerRepository>, Then.Register().WithName("Sample"))
  11. .Include(If.Implements<IOrderRepository>,
  12. Then.Register().AsSingleInterfaceOfType().UsingPerCallMode())
  13. .Include(If.DecoratedWith<LoggerAttribute>,
  14. Then.Register()
  15. .AsInterface<IDisposable>()
  16. .WithTypeName()
  17. .UsingLifetime<MyLifetimeManager>())
  18. .Exclude(t => t.Name.Contains("Trace"))
  19. .ApplyAutoRegistration();

Ресурсы


Скачать стафф можно на http://autoregistration.codeplex.com/
Теги:UnityIoCDIdependency injectioninversion of controlmicrosoft.NETenterprise library
Хабы: .NET
Всего голосов 35: ↑21 и ↓14 +7
Просмотры1.7K

Похожие публикации

Разработчик игр на Unity
19 июня 202172 000 ₽GeekBrains
Разработчик игр на Unity
22 июня 2021108 000 ₽SkillFactory
Платформер на Unity
1 июля 202160 500 ₽XYZ School
Управление проектами с использованием Microsoft Project
28 июня 202111 900 ₽Сетевая Академия ЛАНИТ
SUSE Linux Enterprise Server 15 - Администрирование
5 июля 202150 000 ₽Сетевая Академия ЛАНИТ

Лучшие публикации за сутки