1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-ninject

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Ninject

Build status

codecov

NuGet Version

NuGet Downloads

Ninject — это быстрый и ультралёгкий инжектор зависимостей для приложений .NET. Он помогает разделить приложение на набор слабосвязанных, но сильносцепленных частей, а затем гибко соединить их обратно. Используя Ninject для поддержки архитектуры программного обеспечения, вы сможете легче писать, повторно использовать, тестировать и модифицировать код.

Пишите код так, чтобы он был гибким...

public class Samurai {
    public IWeapon Weapon { get; private set; }
    public Samurai(IWeapon weapon) 
    {
        this.Weapon = weapon;
    }
}

...и позвольте Ninject соединить его за вас.

public class WarriorModule : NinjectModule
{
    public override void Load() 
    {
        this.Bind<IWeapon>().To<Sword>();
    }
}

Особенности:

  1. Сфокусированность. Многие существующие проекты внедрения зависимостей жертвуют удобством использования ради функций, которые не всегда необходимы. Каждый раз, когда в Ninject добавляется новая функция, её польза сопоставляется со сложностью, которую она добавляет при повседневном использовании. Наша цель — сделать порог входа как можно ниже. В Ninject есть много продвинутых функций, но понимание их не требуется для использования основных функций.

  2. Лаконичность. Избыточность фреймворка является серьёзной проблемой для некоторых проектов, поэтому вся основная функциональность Ninject находится в одной сборке без зависимостей вне базовой библиотеки классов .NET. Размер этой единственной сборки составляет примерно 85 КБ при компиляции для выпуска.

  3. Быстродействие. Вместо того чтобы полагаться на отражение для вызова, Ninject использует преимущества лёгкого создания кода в CLR. Это может привести к значительному (в 8–50 раз) улучшению производительности во многих ситуациях.

  4. Точность. Ninject помогает разработчикам делать всё правильно с первого раза. Вместо того чтобы полагаться на файлы сопоставления XML и строковые идентификаторы для подключения компонентов, Ninject предоставляет надёжный предметно-ориентированный язык. Это означает, что Ninject использует возможности языка (например, безопасность типов) и IDE (например, IntelliSense и завершение кода).

  5. Гибкость. Ninject разработан на основе компонентной архитектуры с учётом настройки и эволюции. Многие аспекты системы могут быть расширены или изменены в соответствии с требованиями каждого проекта.

  6. Скрытность. Ninject не будет вторгаться в ваш код. Вы можете легко изолировать зависимость от Ninject до одной сборки в вашем проекте.

  7. Мощь. Ninject включает в себя множество продвинутых функций. Например, Ninject — первый инжектор зависимостей, поддерживающий контекстное связывание, при котором может быть внедрена другая конкретная реализация службы в зависимости от контекста, в котором она запрашивается.

Всё остальное — в расширениях

Да, звучит скромно и целенаправленно, но где же поддержка всех функций, которыми обладают конкуренты?

Как правило, они поддерживаются в виде конкретных целевых расширений с владельцами, которые следят за их синхронизацией и быстро внедряют новые идеи и исправления. Они обобщены в разделе расширения веб-сайта проекта. Большинство из них размещены вместе с основным проектом прямо здесь.

Лицензия

Ninject предназначен для использования как в среде с открытым исходным кодом, так и в коммерческих условиях. Чтобы обеспечить его использование в как можно большем количестве ситуаций, Ninject имеет двойную лицензию. Вы можете выбрать использование Ninject либо под лицензией Apache версии 2.0, либо под публичной лицензией Microsoft (Ms-PL). Эти лицензии по существу идентичны, но вам рекомендуется оценить обе, чтобы определить... Что лучше всего соответствует вашим потребностям.

Подробную информацию смотрите в LICENSE.txt.

История изменений

Ресурсы

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Ninject известен тем, что предоставляет .NET-приложениям быстрый и лёгкий инжектор зависимостей. Он помогает разработчикам разделить приложение на слабосвязанные, сильно сплочённые блоки функциональности, которые затем можно гибко связать друг с другом. Развернуть Свернуть
C#
MS-PL
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-ninject.git
git@api.gitlife.ru:oschina-mirror/mirrors-ninject.git
oschina-mirror
mirrors-ninject
mirrors-ninject
main