awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
khellang avatar

khellang/Scrutor

0
View on GitHub↗
4,299 stars·278 forks·C#·MIT·9 views

Scrutor

Scrutor is a library that extends the standard Microsoft dependency injection container. It provides tools for automated type discovery, complex registration orchestration, and service decoration capabilities within the .NET ecosystem.

The project enables the automatic discovery and registration of types from assemblies based on interfaces or attributes. It also provides a framework for wrapping existing services with decorator classes to add functionality without modifying the original source code.

The library covers broad capability areas including assembly scanning workflows, dependency injection automation, and service management for configuring the lifetime and behavior of dependencies.

Features

  • Assembly Scanning Libraries - Provides a general-purpose assembly scanner to identify and register types based on interfaces or attributes.
  • Type Filtering - Uses boolean logic predicates to determine which classes should be registered in the dependency container.
  • Assembly Scanning and Discovery - Implements systems to discover and register classes based on criteria within compiled assemblies.
  • Concrete Type Mappings - Automatically maps concrete types to their implemented interfaces to enable polymorphic dependency injection.
  • Decorator Pattern Implementations - Implements the structural decorator pattern to wrap services and add new behaviors without inheritance.
  • Service Collection Decoration - Wraps existing service registrations with decorators to add functionality without modifying the original service code.
  • Service Decoration - Supports wrapping existing service registrations with decorator classes to extend functionality.
  • Service Decoration Frameworks - Provides a system for wrapping existing dependency injection services with decorator classes.
  • Dependency Injection Extensions - Extends the standard Microsoft dependency injection container with assembly scanning and service decoration.
  • .NET Service Management - Organizes and configures the lifetime and behavior of dependencies within the Microsoft Extensions Dependency Injection framework.
  • Automatic Dependency Registrations - Automates the discovery and registration of services within the dependency injection container.
  • Fluent Interfaces - Implements a fluent interface for building complex service registration rules through method chaining.
  • Registration Orchestration - Manages complex service registration logic and lifetime configurations within the .NET ecosystem.
  • Dependency Injection - Advanced assembly scanning and decoration for dependency injection.
  • General Utilities - Assembly scanning for dependency injection.

Star history

Star history chart for khellang/scrutorStar history chart for khellang/scrutor

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Scrutor

Similar open-source projects, ranked by how many features they share with Scrutor.
  • autofac/autofacautofac avatar

    autofac/Autofac

    4,649View on GitHub↗

    Autofac is a dependency injection framework and inversion of control container for .NET. It functions as a component registration engine that decouples class implementations from their dependencies by injecting required services via constructors or properties. The project includes an assembly scanning library to automatically discover and register components within compiled binaries based on specific type criteria. It provides a service lifetime manager to control object memory duration using singletons, instance-per-dependency, or isolated request scopes. The framework covers a broad range

    C#autofacc-sharpdependency-injection
    View on GitHub↗4,649
  • dotnetcore/utildotnetcore avatar

    dotnetcore/Util

    4,610View on GitHub↗

    Util is a comprehensive development framework for .NET designed to implement layered architectures and domain driven design. It provides a toolkit of base classes and tools for building full stack applications, specifically focusing on the creation of backend admin frameworks and management interfaces. The project distinguishes itself through a boilerplate generator that produces the necessary types and classes to standardize repetitive architectural patterns. It also includes a micro-frontend orchestrator that enables the splitting of large frontend modules into independent projects for sepa

    C#angularaspnetcoredotnetcore
    View on GitHub↗4,610
  • swinject/swinjectSwinject avatar

    Swinject/Swinject

    6,708View on GitHub↗

    Swinject is a dependency injection framework for Swift that manages object creation and wiring through a centralized container. It resolves dependencies by looking up registered service types at runtime, supporting iOS, macOS, and Linux platforms. The framework provides multiple injection patterns, including initializer injection where dependencies are passed through initializer parameters, property injection that sets resolved dependencies on stored properties after object creation, and method injection that calls methods with resolved dependencies as arguments. It handles complex dependency

    Swiftdependency-injectiondi-containerinversion-of-control
    View on GitHub↗6,708
  • uber-go/diguber-go avatar

    uber-go/dig

    4,470View on GitHub↗

    dig is a reflection-based dependency injection framework and object graph resolver for Go. It functions as a container that automatically satisfies type dependencies and manages the instantiation of complex networks of objects during application startup. The project utilizes a directed acyclic graph to determine the necessary sequence for object instantiation and employs interface-driven provider mapping to decouple concrete implementations from their satisfied interfaces. It resolves the object hierarchy through reflection-based type resolution and single-pass component wiring to ensure all

    Godependency-injectiondigo
    View on GitHub↗4,470
See all 30 alternatives to Scrutor→

Frequently asked questions

What does khellang/scrutor do?

Scrutor is a library that extends the standard Microsoft dependency injection container. It provides tools for automated type discovery, complex registration orchestration, and service decoration capabilities within the .NET ecosystem.

What are the main features of khellang/scrutor?

The main features of khellang/scrutor are: Assembly Scanning Libraries, Type Filtering, Assembly Scanning and Discovery, Concrete Type Mappings, Decorator Pattern Implementations, Service Collection Decoration, Service Decoration, Service Decoration Frameworks.

What are some open-source alternatives to khellang/scrutor?

Open-source alternatives to khellang/scrutor include: autofac/autofac — Autofac is a dependency injection framework and inversion of control container for .NET. It functions as a component… dotnetcore/util — Util is a comprehensive development framework for .NET designed to implement layered architectures and domain driven… uber-go/dig — dig is a reflection-based dependency injection framework and object graph resolver for Go. It functions as a container… swinject/swinject — Swinject is a dependency injection framework for Swift that manages object creation and wiring through a centralized… ets-labs/python-dependency-injector — This is a dependency injection framework and inversion of control container for Python. It decouples object creation… devxoul/then — Then is a syntactic sugar library for Swift that provides closure-based extensions for configuring objects and value…