Ecosyste.ms: Packages

An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

nuget.org : adapter.composition

The provided ComposedAdapterService exports the IAdapterService interface, and "imports many" IAdapter implementations. Initialize your composition container so that it contains both the exported adapters and the adapter service, and it will be initialized automatically for use. ======= Example ======= // Initialize container with your assemblies/types/catalogs CompositionContainer container = new CompositionContainer(catalog); // Retrieve initialized adapter service IAdapterService service = container.GetExportedValue<IAdapterService>(); // Initialize the adapter facade with the service Adapters.SetService(service); // Use adapter extension method As as needed, i.e. // say we need to use it as an MSBuild project, if possible IMSBuildProject msbuild = project.As<IMSBuildProject>(); if (msbuild != null) // do MSBuild stuff with it. ======= Adapters ======= [Export(typeof(IAdapter))] public class ProjectToMsBuildAdapter : IAdapter<IProject, IMSBuildProject> { // Implement actual conversion. } Simply by exporting the right contract, the adapter service will locate it. Note that to create adapter implementations, you need to install the Adapter.Sdk package.

Registry - Homepage - JSON
purl: pkg:nuget/adapter.composition
Keywords: patterns, adapter
License:
Latest release: over 11 years ago
First release: over 11 years ago
Downloads: 6,570 total
Last synced: 5 days ago

    Loading...
    Readme
    Loading...