Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 21011|Ответ: 0

[Консольная программа] C# Unity Series (1) Консольные программы реализуют инъекцию зависимостей интерфейса

[Скопировать ссылку]
Опубликовано 16.07.2020 17:04:11 | | | |
Контейнеры Unity (Unity) — это полнофункциональные, расширяемые контейнеры для инъекции зависимостей. Она помогает создавать слабо связанные приложения и предоставляет разработчикам следующие преимущества:

Упрощённое создание объектов, особенно для иерархических структур объектов и зависимостей
абстракция требований; Это позволяет разработчикам задавать зависимости в процессе выполнения или конфигурации и упрощает управление перекрёстными задачами
Повысить гибкость, отложив конфигурацию компонентов контейнерам
возможности позиционирования сервиса; Это позволяет клиентам хранить или кэшировать контейнеры
Перехват по экземпляру и типу
Согласитесь на регистрацию

Начните с создания нового консольного приложения csharp unity-demo.

Nuget устанавливает 2 пакета со следующей командой:

Создайте новый интерфейс IUser и новый класс пользователя, код выглядит следующим образом:



Настройте файл App.config

Не удалось загрузить файл или ассемблер 'Microsoft.Practices.Unity.Configuration'
https://www.itsvse.com/thread-9220-1-1.html

Определите узел Unity с контейнерами, и в коллекции может быть несколько контейнеров, следующим образом:

Сокращённая конфигурация следующая:



В методе ввода файла программы вызовите метод GetUserName нашего недавно созданного интерфейса IUser через Unity, код выглядит следующим образом:

Результаты реализации следующие:



Как видите, каждый раз, когда мы используем Unity, мы создаём новый объект пользователя.

Скачать исходный код:Вход по гиперссылке виден.





Предыдущий:(Ошибка) cvc-datatype-valid.1.2.1: 'xx' не является действительным значением для 'gYearMonth'.
Следующий:Linux ищет файлы с определённым символом в папке
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com