Coder Social home page Coder Social logo

prise's Introduction

What is Prise?

Prise Logo

Prise is a plugin framework for .NET Core applications, written in .NET Core. The goal of Prise, is enable you to write decoupled pieces of code using the least amount of effort, whilst maximizing the customizability. Prise helps you load plugins from foreign assemblies. It is built to decouple the local and remote dependencies, and strives to avoid assembly mismatches.

Prise features:

  • Easy setup
  • Eager and Lazy loading of plugins
  • Fully customizable loading of plugins
  • Loading plugins with their own dependencies
  • Loading plugins over the network
  • Supporting backwards compatibility for older plugins

Latest version

Prise Nuget (with prereleases)

Prise.Plugin Nuget (with prereleases)

Prise.AssemblyScanning.Discovery Nuget (with prereleases)

How does Prise work ?

At the heart, Prise uses a DispatchProxy of your contract. Every call to a method channels through this proxy and is delegated to the loaded plugin.

Prise does not require the plugin to implement the interface provided by the contract, allowing you to extend the contract going forward, whilst still keeping your old plugins backwards compatible. You can customize Prise to fit your needs, examples of this are:

  • Loading plugins from over the network
  • Loading plugins based on a condition at runtime (Environment Variable)
  • Loading multiple plugins and choosing which one fits the purpose for a specific task
  • Loading lazily or eagerly

Please see the getting started to check out the various example projects.

prise's People

Contributors

merken avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.