Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ditch interfaces where possible #90

LordZoltan opened this issue Mar 4, 2019 · 0 comments


Copy link

commented Mar 4, 2019

  • IResolveContext to be ditched in favour of non-virtual ResolveContext
  • IContainer to be thrown away - Container will be the primary container API
  • IContainerScope also removed in favour of ContainerScope
  • IScopeFactory removed (not required)
  • ICompiledTarget removed. Compilers now always produce factory delegates.

In doing this, also, move as many of the Resolve operations as possible to being first-class members on these types instead of relying on extension methods.

The primary motivation for this is performance (although note that poor performance is only really noticed in micro-benchmarks) - method calls via interface are significantly slower than direct calls and even to virtual methods of a class.

@LordZoltan LordZoltan added this to the 2.0 milestone Mar 4, 2019

@LordZoltan LordZoltan self-assigned this Mar 4, 2019

@LordZoltan LordZoltan added this to In progress in Rezolver Board Mar 18, 2019

@LordZoltan LordZoltan moved this from In progress to Developed in Rezolver Board May 8, 2019

@LordZoltan LordZoltan closed this Jul 24, 2019

Rezolver Board automation moved this from Developed to Done Jul 24, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
1 participant
You can’t perform that action at this time.